Нет вывода при запуске Query с использованием Java и Google Firestore - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть программа, которая является создателем событий / локатором.Проблема, с которой я сталкиваюсь, это получение запроса из базы данных.В этом случае я просто пытаюсь извлечь конкретный почтовый индекс из базы данных и отобразить детали соответствующего документа, предоставленного в запросе.

private void findEvent() {
    Log.d(TAG,"Start FindEvent Function");
    eventRef.whereEqualTo("zip", searchZip.toString())
         .limit(1).get()
         .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
             @Override
             public void onComplete(@NonNull Task<QuerySnapshot> task) {
                 if (task.isSuccessful()) {
                     Log.d(TAG, "Task Successful! Starting For Loop!");
                     for (QueryDocumentSnapshot document : task.getResult()) {
                         Log.d(TAG, document.getId()+"=>"+document.getData());
                         updateUI(document);
                     }
                 } else {
                  Log.w(TAG, "Error getting documents.", task.getException());
                 }
             }
         });
}//end findEvent function

Когда я запускаю программу на своем телефоне и нажимаю кнопку поиска, которая запускает вышеуказанную функцию, моя деятельность ничего не выводит.Я проверяю журналы, по этой причине я их помещаю, и в журнале я получаю отладку: «Задача выполнена успешно! Запуск за цикл!»и затем ничего после этого, когда я ожидаю журнал отладки, который у меня есть в функции updateUI, который говорит мне, что функция запускается.Поэтому говорю мне, что не работает функция updateUI.

1 Ответ

0 голосов
/ 25 апреля 2019

Ваш запрос, вероятно, просто не возвращает никаких результатов, и ваш код не проверяет этот случай.

Перед итерацией QuerySnapshot , доставленной в задачу:

QuerySnapshot qsnapshot = task.getResult();

Вы можете использовать метод isEmpty () , чтобы определить, содержит ли он какие-либо документы:

if (qsnapshot.isEmpty()) {
    Log.d(TAG, "Query resulted in no documents");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...