Firestore не обновляет локальную базу данных - PullRequest
0 голосов
/ 18 мая 2018

У меня есть приложение, которое использует Firestore для сохранения данных на сервере.Я настроил сохранение в автономном режиме и получаю данные, используя addSnapshotListener().Если я что-то пишу из своего приложения, оно корректно обновляется на сервере, но на втором устройстве я не вижу новых данных.Если я получаю документ, используя get(), данные обновляются, но это действительно медленно.Есть ли способ обновить локальную базу данных или получить данные из сети, если в базе данных нет изменений?

1 Ответ

0 голосов
/ 18 мая 2018

В пожарном хранилище можно использовать два типа моделей данных.

  1. коллекция
  2. документ

вам нужно использовать прослушиватель снимков на основе модели данных, которую вы пытаетесь получить.Например:

для коллекции:

db.collection("collectionPath")
            .addSnapshotListener(EventListener<QuerySnapshot> { snapshot, e ->
                if (snapshot != null) {
                    for (change in snapshot.documentChanges) {
                        //read document from the change -> change.document
                    }
                }
            })

для документа:

db.document("documentPath")
            .addSnapshotListener(EventListener<DocumentSnapshot>{ snapshot, e ->
                if (snapshot != null) {
                    //read fields from document -> snapshot.getString("fieldName")
                }
            })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...