Если вы ничего не знаете об опросе, который вы хотите показать, лучшее, что вы можете сделать, это показать все опросы.Это можно сделать, подключив слушателя к /Polls
:
DatabaseReference ref = FirebaseDatabase.getInstance().getReference("Polls");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot pollSnapshot: dataSnapshot.getChildren()) {
Poll poll = pollSnapshot.getValue(Poll.class);
String key = pollSnapshot.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
. Если вы хотите получить доступ к определенному опросу, вы должны знать что-то уникальное, что идентифицирует этот опрос.Простейшим из этого является знание его ключа, и в этом случае вы можете загрузить его следующим образом:
String key = "-LNlisBxkPbxd00a_QH";
ref.child(key).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Poll poll = pollSnapshot.getValue(Poll.class);
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
Если вы не знаете ключ, вам нужно знать значение свойства опроса, чтобыВыбрать.Например, чтобы получить все опросы по вопросу y89yuvyu
, вы можете запросить этого потомка с помощью:
ref.orderByChild("question").equalToChild("y89yuvyu").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot pollSnapshot: dataSnapshot.getChildren()) {
Poll poll = pollSnapshot.getValue(Poll.class);
String key = pollSnapshot.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
throw databaseError.toException();
}
});
Поскольку для этого значения вопроса может быть несколько опросов, вам придется снова просмотреть результаты, какЯ сделал выше.