Выбор ответа Middle Room и хранение данных спрашивают часто обновлено

Flow из DAO Room

Вопрос

Что делает DAO-метод fun observeAll(): Flow<List<ArticleEntity>>?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Выдаёт данные и повторяет запрос при каждом изменении таблицы. Room отслеживает таблицы, участвующие в запросе.

Варианты ответа

  1. Один раз читает таблицу и завершает поток, как обычный suspend-метод
  2. Перечитывает таблицу каждые 5 секунд, пока у потока есть подписчики
  3. Читает данные из сети через репозиторий и кладёт их в Room по пути
  4. Выдаёт данные и повторяет запрос при каждом изменении таблицыправильный ответ

Разбор

Room отслеживает таблицы, участвующие в запросе. После любой вставки, обновления или удаления в них запрос выполняется снова, и новый результат уходит подписчикам. Поэтому UI, подписанный на такой поток, автоматически видит изменения, это основа единого источника правды. Повтор происходит по событию, а не по таймеру, сети Room не касается.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.