Подтвердить что ты не робот

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

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

Спасибо.

4b9b3361

Ответ 1

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() { }
});

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

Ответ 2

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

От: 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