Вступить в клуб →
лёгкаявопросСлой данных, DI и релиз

Синхронный запрос к Room на главном потоке

В приложении объявлен запрос к базе:

@Dao
interface OrderDao {
    @Query("SELECT * FROM orders")
    fun getAll(): List<Order>
}

И вызывается прямо при создании экрана:

val orders = orderDao.getAll()

Что произойдёт?

  • Нужно разрешить запросы на главном потоке при сборке базы — для небольших таблиц это штатный способ работы
  • Всё в порядке: библиотека сама уводит такие запросы в фоновый поток и возвращает результат на главный
  • Приложение упадёт: синхронные запросы к базе на главном потоке запрещены по умолчанию
  • Запрос выполнится, но вернёт пустой список до первой синхронизации данных с сервером

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела