Я застрял на этой проблеме
class InventoryApplication: Application() {
val database: ItemDatabase by lazy { ItemDatabase.getDatabase(this) }
}
Класс ошибки
Изображение кода
Решение проблемы
У меня была та же проблема, я смог решить ее, перейдя в ItemRoomDatabase.ktфайл, изменив переменную INSTANCE в объекте-компаньоне, чтобы вернуть ненулевой тип ItemRoomDatabase? и getDataBase()функция для возврата типа ItemRoomDatabase, а не RoomDatabaseтипа возвращаемого значения, как запрошено в примере из лаборатории кода.
Ваш окончательный код в ItemRoomDatabase.ktфайле должен выглядеть примерно так:
@Database(entities = [Item::class], version = 1, exportSchema = false)
abstract class ItemRoomDatabase: RoomDatabase() {
abstract fun itemDao(): ItemDao
companion object {
@Volatile
private var INSTANCE: ItemRoomDatabase? = null
fun getDatabase(context: Context): ItemRoomDatabase {
return INSTANCE?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
ItemRoomDatabase::class.java,
"item_database"
)
.fallbackToDestructiveMigration()
.build()
INSTANCE = instance
instance
}
}
}
}
Комментариев нет:
Отправить комментарий