小编Jal*_*kun的帖子

重新打开应用程序时 Room 无法验证数据完整性

我正在从Codelabs学习如何使用 Room ,现在我有两张桌子

当我从 Android Studio 运行时是正常的

但是当我关闭并重新打开应用程序时,我收到错误

java.lang.IllegalStateException:Room 无法验证数据完整性。您似乎已更改架构但忘记更新版本号。您可以通过增加版本号来简单地解决此问题。

重新打开应用程序时出错,而不是安装时出错

我尝试提高版本号,但仍然出现错误

这是我的代码

@Database(entities = [Type::class], version = 3)
abstract class TypeRoomDb : RoomDatabase(){

    abstract fun typeDao() : TypeDao

    companion object{
        @Volatile
        private var INSTANCE : TypeRoomDb? = null

        fun getDataBase(
            context: Context,
            scope: CoroutineScope
        ): TypeRoomDb {
            return INSTANCE ?: synchronized(this){
                val instance = Room.databaseBuilder(
                    context.applicationContext,
                    TypeRoomDb::class.java,
                    Cons.DB_NAME
                )
                    .fallbackToDestructiveMigration()
                    .addCallback(TypeDbCallBack(scope))
                    .build()
                INSTANCE = instance

                instance
            }
        }

        private class TypeDbCallBack(
            private val scope: CoroutineScope
        ) : …
Run Code Online (Sandbox Code Playgroud)

android kotlin

2
推荐指数
1
解决办法
1455
查看次数

标签 统计

android ×1

kotlin ×1