Знаете ли вы, что для доступа к DAO необходима RoomDatabase? Это может выглядеть примерно так:
@Database(
entities = [(Stats::class)],
version = 1,
exportSchema = false
)
abstract class DDDatabase : RoomDatabase() {
abstract fun statDao(): StatDao
private var inst: DDDatabase? = null
private val instLock = Object()
fun getInstance(context: Context): DDDatabase = inst ?: synchronized(instLock) {
return inst ?: run {
inst = Room.databaseBuilder(
context,
DDDatabase::class.java, "name of the database"
).build()
inst!!
}
}
}
однако я использую applicationContext вместо введения контекста. Позже вы можете использовать его следующим образом:
DDDatabase.getDatabase().statDao().getStats()
Однако я вижу, что ваш запрос для getStats построен неправильно. Если вы хотите, чтобы вся статистика в базе данных была записана как:
@Query("SELECT * from stat_table")
fun getStats(): LiveData<List<Stats>>
Пожалуйста, отметьте ответ как одобренный, если он работает для вас, или ответьте мне, если он не работает:)