Android Jetpack之Room的学习
做一个简单的增删改查
简介:
Android采用SQLite作为数据库存储。但SQLite代码写起来繁琐且容易出错,所以为了帮助我们编写出更好的代码,Android官方推出了一个ORM框架,并将它加入了Jetpack当中,这就是本容要讲的Room。
Room 为 SQLite 提供一个抽象层,以便在充分利用 SQLite 的同时,可以流畅地进行数据库访问。
Room的组成
Room主要由Entity,Dao 和 Database这三部分组成,每个部分都有明确的职责。
- Entity 。 用于定义封装实际数据的实体类,每个实体类都会在数据库中有一张相对应的表,并且表中的列是根据实体类的字段自动生成的。
- Dao 。 Dao 是数据访问对象的意思,通常会在这里对数据库的各项操作进行封装,在实际编程的时候,逻辑层就不需要和底层数据库打交道了,直接和Dao层进行交互即可。
- Database 。 用于定义数据库中的关键信息,包括数据库的版本号,包含哪些实体类以及提供Dao层的访问实例。
此图说明了Room的不同组件之间的关系。
添加依赖
要使用Room之前,需要在app/build。gradle文件中添加如下依赖:
dependencies {
...
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"
}
这里我将实现一个简单的增删改查来帮助我们学习Room
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;
@Entity(tableName = "employee_table")
public class Employee {
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id")
privare int id;
@ColumnInfo(name="name")
private String name;
@ColumnInfo(name="age"