Room
Room谷歌推出的用于持久化数据存储的一个库,说白了就是数据库技术。如果有项目中有用到sqlite相关东西的同学,可以学习一下,用起来还是很方便的。
由于公司项目需要用到Room ,自己也花了一段时间学习了一下这个新技术。这里就详细的分享一下吧!我之所以说很细,其实是有几个关键点。翻阅了一些资料,但是很多东西还是没找到
这里只单纯介绍Room这个框架的使用,至于和rxjava或者是mvvm的联动。暂且不做介绍。
主要了解三个模块:Dao,Entity,Database
模块也非常清晰,dao是中间层。用于对数据库的增删改查,Database就是数据库本身了。而Entity是数据库表在java中的bean类的映射,这个也很好理解了,你需要新建一个bean去对应到表的列接受序列化数据。
Entity
entity是没什么好说的,其实就是bean类了。Room作为jetpack组件中的一员,基本也是用注解来实现功能,简单明了。
新建一个bean类
@Entity(tableName = "user",indices = {
@Index("id")})
public class UserEntity {
@NonNull
@PrimaryKey(autoGenerate = true</