2016-07-18 2 views
5

У меня возникли проблемы с поиском любой информации с использованием документации по firebase и google о том, как получить все данные при запуске приложения.Firebase извлекает все данные при запуске приложения

Предположим, что я хочу получить все следующие данные при запуске приложения без какого-либо события. и хранить в ArrayList. Скажем, ArrayList<Quote> и цитата имеет три поля (int id, String text, String author).

[{ 
    "id" : 1, 
    "text": "There are 1,411 tigers left in India.", 
    "author": "NULL" 
}, { 
    "id" : 2, 
    "text": "The Greek for \"left-handed\" also means \"better\".", 
    "author": "NULL" 
}] 

Согласно documentation есть метод, называемый OnDataChange(), но, приложение не изменяя никаких данных. Как захватить все данные и сохранить в ArrayList<Quote>, которые я могу передать пользовательскому адаптеру.

+0

Чтение из документа, раздел «События значения»: 'onDataChange() [...] Этот метод запускается один раз, когда слушатель подключается и снова каждый раз, когда данные, включая дочерние элементы, меняются.' –

ответ

2

Хранение данных Fresh

База данных Firebase в реальном времени синхронизирует и хранит локальную копию данных для активных слушателей. Кроме того, вы можете синхронизировать определенные местоположения.

DatabaseReference scoresRef = FirebaseDatabase.getInstance().getReference("scores"); 
scoresRef.keepSynced(true); 

Клиент будет автоматически загружать данные в этих местах и ​​держать его в синхронизации, даже если ссылка не имеет активных слушателей. Вы можете отключить синхронизацию со следующей строкой кода.

См. Этот документ для получения дополнительной информации; https://firebase.google.com/docs/database/android/offline-capabilities

2

Метод onDataChange() вызывается непосредственно при подключении слушателя (ValueEventListener или ChildEventListener), поэтому вам не нужно вносить какие-либо изменения в данные, чтобы вызвать этот метод.

Из документации Firebase - Retrieve Data on Android

Этот метод вызывается один раз, когда слушатель прикрепляется и снова каждый раз, когда данные, в том числе детей, изменения.

Смежные вопросы