前言:Room于2017年谷歌IO大会上被推出,当时伴随着推出的还有LiveData以及ViewModel。相比于如今Ormlite、GreenDao等框架的优势,Room自带支持LiveData与ViewModel。这篇文章只是简单的介绍下Room的使用,并不涉及LiveData与ViewModel的组合使用。后续文章再加上吧。
废话不多说,进入正题。
首先,导入使用Room
implementation 'android.arch.persistence.room:runtime:1.0.0' annotationProcessor 'android.arch.persistence.room:compiler:1.0.0'
使用Room的关键有三点:
Entity:使用Architecture Components时,这是一个带注释的类,用于描述数据库表。
SQLite database:在设备上,数据存储在SQLite数据库中。Room持久性库为您创建和维护此数据库。
DAO: data access object(数据访问对象)。SQL查询到函数的映射。当您使用DAO时,您可以调用方法,而Room负责其余的操作。
我们先创建Entity:
@Entity(tableName = "info") public class InfoEntity { @PrimaryKey(autoGenerate = true) public int _id; @ColumnInfo(name = "uuid") private String uuid; private String info; public InfoEntity(String info) {