Android: Как получить одноразовые данные о sh из базы данных Firebase Realtime в 100% случаев? - PullRequest
1 голос
/ 19 марта 2020

Из этого потока: https://groups.google.com/forum/#! Msg / firebase-talk / ptTtEyBDKls / XbNKD_K8CQAJ

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

Мы знаем, что это не идеальное поведение, и ищем способы улучшить его. На данный момент использование keepSynced () является хорошим подходом, чтобы убедиться, что он максимально возможный sh.

Так ли это до сих пор в 2020 году? Я обнаружил, что зависимость от слушателя (по крайней мере, ChildEventListener) не была надежной, когда приложение переходит в фоновый режим или устройство переходит в спящий режим - поэтому я не могу просто полагаться на keepSynced (true).

В моем собственном тестировании использования addListenerForSingleValueEvent это, кажется, работает последовательно, но я должен быть уверен в этом на 100% от имени моих пользователей. Я нашел этот поток, который описывает обходной путь с использованием объекта Query: { ссылка }

Требуется ли этот обходной путь в 2020 г.? Спасибо.

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