Я пытаюсь создать приложение будильника, используя Rooms.Мой метод repository.getAlarmById(1)
возвращает ноль .Но repository.getAlarms()
выходы
Тревога (id = 1, мин = 12, час = 12, разрешено = true, isRepeating = true)
Тревога (id = 2, min =13, час = 13, включено = истина, isRepeating = истина)
Здесь AlarmDao
@Dao
interface AlarmDao {
@Query("SELECT * FROM alarm_table")
fun getAll(): LiveData<List<Alarm>>
@Query("SELECT * FROM alarm_table WHERE id = :id")
fun getById(id: Int): LiveData<Alarm>
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insert(alarm: Alarm)
@Delete
fun delete(alarm: Alarm)
}
AlarmRepository
class AlarmRepository (private val alarmDao: AlarmDao): AlarmDataSource {
override fun getAlarms(): LiveData<List<Alarm>> {
return alarmDao.getAll()
}
override fun getAlarm(id: Int): LiveData<Alarm> {
return alarmDao.getById(id)
}
override fun saveAlarm(alarm: Alarm) {
doAsync { alarmDao.insert(alarm) }
}
override fun deleteAlarm(alarm: Alarm) {
doAsync { alarmDao.delete(alarm) }
}
}
И Тревога Класс
@Entity(tableName = "alarm_table")
data class Alarm(
@PrimaryKey
var id: Int = 0,
@ColumnInfo(name = "min")
var min: Int = -1,
@ColumnInfo(name = "hour")
var hour: Int = -1,
@ColumnInfo(name = "enabled")
var enabled: Boolean = true,
@ColumnInfo(name = "isRepeating")
var isRepeating: Boolean = false )
Почему я всегда получаю ноль?