Как получить данные из QuerySnapshot в облачном магазине Firestore

# #android #google-cloud-firestore

Вопрос:

Этот вопрос задавался много раз раньше, но не в Android Java. Я просмотрел документы firestore , он использует цикл for для получения данных. В моем случае мне нужно одно поле из моего запроса (я знаю , что мой запрос вернет только один документ).

Вот запрос:

 db.collection("songs").whereEqualTo("email",userauth.getEmail()).get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>(){
        @Override
        public void onComplete(@NonNull Task<QuerySnapshot> task) {
            if (task.isSuccessful()) {
                QuerySnapshot snapshot = task.getResult();
                if (!snapshot.isEmpty()) {
             //Display the data this is where I'm facing issue
}
}
 

Я хочу отобразить одно поле link в своих данных.
Я попробовал это:

 DocumentSnapshot document = task.getResult();
                    userinfo.setText(document.get("link"));
 

Но есть некоторые ошибки. Есть так много разных снимков, что я понятия не имею, что и что делает.

Ответ №1:

Дело в том , что снимок запроса всегда возвращает список, в моем случае это будет список только с одним объектом.

Так:

 DocumentSnapshot document = snapshot.getDocuments().get(0);
                    userinfo.setText((String)document.get("link"));