Architecture components-Room的简单使用

1.依赖包

implementation'android.arch.persistence.room:runtime:1.1.1'
kapt 'android.arch.persistence.room:compiler:$rootProject.roomVersion'

2.Room的组成

1.Dao类
Dao类主要用来操作数据库,执行sql语句和一些事务的配置

@Dao 是Room的注解,以接口的形式暴露,其中增删改查都是以注解的方式表示,
     例如:
         @Query("SELECT * FROM Users WHERE userid = :id")
         @Insert(onConflict = OnConflictStrategy.REPLACE)(room中事务的配置)

2.Entity类
该类用来配置数据库的表名和一些数据库的配置

3.AppDatabase类
提供给开发者使用的appDatabase,可操作数据库的实现类

关键代码:
Room.databaseBuilder(context.applicationContext,  UsersDatabase::class.java, "Sample.db").build()

注意事项:
1.在调试的时候,每次更改数据的配置,需要更改数据库的version,或者清除app的数据库
2.添加这行代码javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation":"$projectDir/schemas".toString()]}}
3.查看数据库,打开Device  File explorer

找到data目录下data下对应的包名下的databases下的图片三个文件,全部导出之后,用SQLiteStudio查看即可(或者Android Studio的插件)

你可能感兴趣的:(Architecture components-Room的简单使用)