База данных Firebase в реальном времени всегда возвращает ноль при чтении - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь написать тестовое Android-приложение, используя Firebase Backend.Я сделал все настройки в соответствии с инструкциями (используя вход в Google для проверки подлинности и правил проверки подлинности для корневого объекта в базе данных реального времени), но все еще не могу заставить firebase возвращать что-либо, но значение null равно значению снимка (когда вызывается onDataChange ()).Я уверен, что путь и другие параметры действительны - в противном случае я получаю «Отказано в доступе» в обратном вызове onCancelled ().Что я могу сделать не так?

Код:

    mDatabase = FirebaseDatabase.getInstance().getReference("api");
    mDatabase.child("test")
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot
                                                 dataSnapshot) {
                    if (dataSnapshot.exists()) {
                        //code that's never called
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError
                                                databaseError) {
                    //log error
                }
            });

Зависимости:

implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-database:16.0.3'
implementation 'com.google.firebase:firebase-auth:16.0.4'

Структура данных:

{"test" : true}

toString () снимкарезультат:

DataSnapshot { key = test, value = null }

Единственное, что я мог успешно извлечь из Firebase (если это имеет значение):

FirebaseDatabase.getInstance().getReference(".info/serverTimeOffset"); 

Правила базы данных:

    {"rules": {
"api":{
  ".read": "auth != null",
  ".write": "auth != null",
}}}

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 26 октября 2018

Я понял мою ошибку.Я рассматривал корневой путь (идентификатор проекта firebase в дереве данных веб-консоли) как значимую часть пути данных и пытался указать его в запросе данных и правилах безопасности.

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