--jetpack常用的依赖库--lifecycle-viewModle-room

1.lifecycle的DefaultLifecycleObserver
添加依赖:implementation("androidx.lifecycle:lifecycle-common-java8:2.4.1")
2.viewModle的viewModles
添加依赖:implementation "androidx.activity:activity-ktx:1.4.0"
                 implementation "androidx.fragment:fragment-ktx:1.3.0"
3.room
*1*报错 java.lang.RuntimeException: cannot find implementation for com.app.room.AppDatabase. AppDatabase_Impl does not exist
第一步
第二步
*2*报错 java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time.
--必须在子线程请求数据库
*3*报错 java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number.
--如果数据库有任何更改 都需要版本升级
*4* 数据库升级--- Room 在 2.4.0-alpha01 及更高版本中支持自动迁移 
       自动升级 
        A.在app下的build.gradle中添加
    android {
    ...
    defaultConfig {
    ...
    javaCompileOptions {
    annotationProcessorOptions {
    arguments = ["room.schemaLocation": "$projectDir/schemas".toString()]
                    }
               }
             }
        }
      B.如果user里面修改任何字段,在database中的注解需要--version增加,autoMigrations = [ AutoMigration(from = 1, to = 2) ]
        C.如果新增加一个student

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值