Как использовать комнату с несколькими FirestoreRecyclerAdapter? - PullRequest
0 голосов
/ 09 февраля 2019

Я использую 4 RecycleView в MainActivity, которые загружают данные из Cloud Firestor, используя FirestoreRecyclerAdapter.Теперь я хочу использовать Room для создания квитанции для пользователя в ReceiptActivity.

Я сделал все сотрудники, но что-то не так, когда я пытаюсь удалить и обновить элемент в Room.Мое приложение падает, поэтому я спрашиваю, есть ли конфликт с тем, что я делаю, или нет?Если нет, пожалуйста, направьте меня с наилучшей практикой, чтобы сделать это.Заранее спасибо.

Сообщение об ошибке

1 Ответ

0 голосов
/ 09 февраля 2019

При использовании Cloud Firestore, автономное постоянство :

Для Android и iOS автономное сохранение включено по умолчанию.Чтобы отключить постоянство, установите для параметра PersistenceEnabled значение false.

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

Кроме того, если вам нужно получить данные только из кэша, вы можетедобиться этого с помощью методов DocumentReference.get (источник) и Query.get (источник) .

По умолчанию get() пытается предоставить обновленные данные, когда это возможно, в ожидании данных с сервера, но он может вернуть кэшированные данные или потерпит неудачу, если вы находитесь в автономном режиме и сервер не может быть достигнут.Это поведение можно изменить с помощью параметра Source.

Таким образом, теперь мы можем передавать в качестве аргумента DocumentReference или Query источнику, чтобы мы могли форсировать поиск данных изserver only, chache only или попробуйте сервер и откройте кеш.

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