Можно ли читать данные Firebase без подключения слушателей?

Я работаю над приложением Firebase для Android и нуждаюсь в способе чтения данных из Firebase без фактического подключения слушателей. В данном конкретном случае мне все равно, если данные после первоначального чтения будут изменены. Есть ли способ, с помощью которого я могу напрямую обращаться к DataSnapshotбез привязки EventListener к ссылке Firebase? Или есть какой-то другой способ, с помощью которого я могу напрямую прочитать ссылку на Firebase с каким-то ref.getValue()эквивалентом?

Спасибо.

java,android,firebase,

17

Ответов: 2


6

Вы можете использовать API REST Firebase для доступа к «сырым» данным.

От: https://www.firebase.com/docs/rest-api.html

Вы можете использовать любой URL-адрес Firebase в качестве конечной точки REST. Все, что вам нужно сделать, это добавить «.json» в конец URL-адреса и отправить запрос от вашего любимого клиента HTTPS. Обратите внимание, что требуется HTTPS. Firebase реагирует только на зашифрованный трафик, чтобы ваши данные оставались в безопасности.

curl https://SampleChat.firebaseIO-demo.com/users/jack/name.json

Успешный запрос указывается кодом состояния 200 OK HTTP. Ответ будет содержать данные, которые были получены:

{"first":"Jack", "last": "Sparrow"}

На этой же странице также упоминается проект оболочки Java: https://github.com/bane73/firebase4j


6

Java SDK предоставляет addListenerForSingleValueEventметод, который эквивалентен вашему ref.getValue (). Он используется точно так же addValueEventListener, но только извлекает одно значение.

fb.addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot snap) {
        System.out.println(snap.getName() + " -> " + snap.getValue());
    }

    @Override public void onCancelled() { }
});

REST API, как отметил Фрэнк, также является отличным выбором.

Java, Android, firebase,
Похожие вопросы
Яндекс.Метрика