я пытаюсь добавить некоторые данные в базу данных, но socpe.launch не работает в этом коде из this я учусь
@Database(entities = [Type::class, LogKeuangan::class], version = 7)
abstract class TypeRoomDb : RoomDatabase(){
var TAG = "TypeRoomDb"
abstract fun typeDao() : TypeDao
abstract fun logKeuanganDao() : LogKeuanganDao
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
) : RoomDatabase.Callback(){
override fun onOpen(db: SupportSQLiteDatabase) {
super.onOpen(db)
LogTest().e(TAG = "TypeDbCallBack", data = "on create ")
INSTANCE?.let { database ->
scope.launch(Dispatchers.IO) {
LogTest().e("TypeDbCallBack", "on create scope.launch")
populateDb(
database.typeDao()
)
}
}
}
}
fun populateDb(typeDao: TypeDao){
typeDao.deleteAll()
LogTest().e("TypeRoomDb", "populateDb")
/*out*/
typeDao.insert(
Type(
"000",
"FOOD",
0,
"FFFFFF",
""
)
)
/*in*/
typeDao.insert(
Type(
"500",
"SALARY",
1,
"FFFFFF",
""
)
)
}
}
}
this log работает LogTest (). e (TAG = "TypeDbCallBack", data = "on create"), но мой журнал внутри scope.launh не работает
Я пытаюсь создать базу данных использовать библиотеку комнаты
Думаю, эта ошибка появляется после изменения имени пакета