Я пытаюсь создать простое приложение с MVVM в Kotlin с привязкой данных и библиотекой Room для хранения данных.
Но когда я добавляю RoomDatabase и Dao, я получаю Исключение без сообщения об ошибке.
экран трассировки стека Произошла ошибка для файла 2 ниже:
MyDatabase.kt:
@Database(
entities = [Profile::class],
version = 1
)
abstract class MyDatabase private constructor() : RoomDatabase() {
abstract fun profileDao(): ProfileDao
companion object {
@Volatile private var instance: MyDatabase? = null
private val LOCK = Any()
operator fun invoke(context: Context) = instance ?: synchronized(LOCK) {
instance ?: buildDatabase(context).also { instance = it }
}
private fun buildDatabase(context: Context) =
Room.databaseBuilder(context.applicationContext,
MyDatabase::class.java, "data.db")
.build()
}
}
ProfileDao .kt:
@Dao
interface ProfileDao {
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(profile: Profile)
@Query(value = "SELECT * FROM profile WHERE id = $CURRENT_PROFILE_ID")
fun getProfile(): LiveData<Profile>
}
Кто-нибудь знает, откуда возникла проблема?
Извините, если вопрос кажется глупым, я новичок ie в Kotlin и MVVM.