我正在从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)