Как получить данные запроса с помощью Firebase Firestore? - PullRequest
0 голосов
/ 24 июня 2018
Query query = mTournamentColRef.whereEqualTo("author", user.getUid());

Я хочу получить идентификатор документа внутри mTournamentColRef, но не смог найти ничего в документации Firebase , рассказывающей о том, что делать с запросом и как получить его данные.

Спасибо за помощь!

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Как получить данные запроса с помощью firebase firestore?

Просто используйте get() вызов!

query.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
    @Override
    public void onComplete(@NonNull Task<QuerySnapshot> task) {
        if (task.isSuccessful()) {
            for (QueryDocumentSnapshot document : task.getResult()) {
                Log.d("TAG", "Document Id: " + document.getId());
            }
        }
    }
});

Нет необходимости использовать addSnapshotListener если вам не нужно получать данные в режиме реального времени.Если вам нужно только получить его, а не прослушивать изменения, просто используйте метод get().

0 голосов
/ 24 июня 2018

Вы можете использовать снимок данных для получения данных из запроса или, если вы используете Firestore Recycler Adapter, вы можете напрямую передать запрос в конструктор.Вот код для получения конкретных данных: -

Query query = mTournamentColRef.whereEqualTo("author", user.getUid());
            query.addSnapshotListener(new EventListener<QuerySnapshot>() {
                @Override
                public void onEvent(QuerySnapshot queryDocumentSnapshots, FirebaseFirestoreException e)
                {
                    for (DocumentSnapshot doc : queryDocumentSnapshots)
                    {
                        Tournament tp = doc.toObject(Tournament.class);
                    }
                }
            });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...