Ответ
LiveData в DAO предоставляет реактивный способ наблюдения за изменениями в базе данных. При обновлении данных в таблице LiveData автоматически уведомляет подписчиков (например, UI-компоненты), что позволяет:
- Автоматически обновлять UI без ручных запросов
- Избегать утечек памяти (LiveData учитывает жизненный цикл)
- Работать в фоне – Room сам выполняет запросы не в UI-потоке
Пример:
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getAll(): LiveData<List<User>>
}
// В Activity/Fragment:
userDao.getAll().observe(this) { users ->
adapter.submitList(users)
}
При изменении данных в таблице users список в адаптере обновится автоматически.