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類主要用來操作數(shù)據(jù)庫,執(zhí)行sql語句和一些事務(wù)的配置

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

2.Entity類
該類用來配置數(shù)據(jù)庫的表名和一些數(shù)據(jù)庫的配置

3.AppDatabase類
提供給開發(fā)者使用的appDatabase,可操作數(shù)據(jù)庫的實現(xiàn)類

關(guān)鍵代碼:
Room.databaseBuilder(context.applicationContext,? UsersDatabase::class.java, "Sample.db").build()

注意事項:
1.在調(diào)試的時候,每次更改數(shù)據(jù)的配置,需要更改數(shù)據(jù)庫的version,或者清除app的數(shù)據(jù)庫
2.添加這行代碼javaCompileOptions {
annotationProcessorOptions {
arguments = ["room.schemaLocation":"$projectDir/schemas".toString()]}}
3.查看數(shù)據(jù)庫,打開Device? File explorer

找到data目錄下data下對應(yīng)的包名下的databases下的圖片三個文件,全部導出之后,用SQLiteStudio查看即可(或者Android Studio的插件)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容