Issue
I have a database which is prepopulated with some tables which is working fine. I have prepopulated my db. like this
Room.databaseBuilder(
get(),
AppDatabase::class.java,
APP_DATABASE
)
.createFromAsset("app.db")
.fallbackToDestructiveMigration()
.build()
the problem I am facing is that. when user adds his own data it got inserted correctly and displayed on my screen. when I move app to the background and remove it from there and reopen the application. I don't se my data and only the default data is present there.
any help would be appreciated.
Solution
I faced same issue - you just need to remove fallbackToDestructiveMigration()
from your code
finally your code should look like
@Volatile
private var INSTANCE: AppDatabase? = null
fun getDatabase(
context: Context
): AppDatabase {
return INSTANCE ?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java,
DATABASE_NAME
)
.allowMainThreadQueries()
.createFromAsset("databases/yourdb.db")
.build()
INSTANCE = instance
instance
}
}
Answered By - Kirguduck
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.