Я видел вас основной способ, как вы можете сделать?
База данных комнаты инициализации, как показано ниже
val instance = Room.databaseBuilder(
context.applicationContext,
WordRoomDatabase::class.java,
"Word_database"
).addCallback(WordDatabaseCallback()).build() // set my own callback here
И реализация WordDatabaseCallback
как
private class WordDatabaseCallback(
private val scope: CoroutineScope
) : RoomDatabase.Callback() {
override fun onOpen(db: SupportSQLiteDatabase) {
super.onOpen(db)
INSTANCE?.let { database ->
scope.launch(Dispatchers.IO) {
populateDatabase(database.wordDao())
}
}
}
suspend fun populateDatabase(wordDao: WordDao) {
//Clearing all the data from table
wordDao.deleteAll()
//Adding record
var word = Word("Hello")
wordDao.insert(word)
//Adding record
word = Word("World!")
wordDao.insert(word)
}
}
WordDao
- это мой DAO , и яПопытка вставить / удалить данные через него
Для более подробной информации вы можете увидеть ниже ссылки
- Link1
- Link2
- Ссылка3