как синхронизировать данные комнаты с Cloud Firestore? - PullRequest
0 голосов
/ 16 июня 2019

Я хочу быть уверен, что могу сохранять данные в автономном режиме.Как синхронизировать данные в комнате с Firestore?Когда что-то вставлено в Room Firestore, также должно быть обновлено.

1 Ответ

0 голосов
/ 16 июня 2019

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

val settings = FirebaseFirestoreSettings.Builder()
    .setPersistenceEnabled(true)
    .build()
db.firestoreSettings = settings

Использование Firestore для персистентности имеет много преимуществ по сравнению с Room (кроме сэкономленных усилий и потенциальных ошибок). Если вы, например, загрузить все рестораны в городе, затем отключиться и запустить запрос, например, на. В лучших ресторанах запрос все равно будет работать и использовать кэшированные данные, даже если запрос никогда не выполнялся, когда он был в сети.

Вы также можете настроить размер кэша, который Firestore использует для удовлетворения ваших потребностей. Документы кэшируются в режиме LRU, поэтому документы, которые не использовались дольше всего, сначала удаляются из кэша после его заполнения.

Лучше всего всегда использовать прослушиватели моментальных снимков. Если вы запустите запрос в автономном режиме и устройство вернется в оперативный режим, Firestore автоматически снова запустит запрос на сервере и вернет обновленный результат в ваш пользовательский интерфейс.

Посмотрите документы и это видео о автономном режиме Firestore для получения более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...