Если вы хотите получить особый доступ только к dayVisitors под Noida Sec 1, вы можете просто реализовать это, используя:
final FirebaseDatabase db = FirebaseDatabase.getInstance();
DatabaseReference ref = db.getReference("Noida Sec1");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
if(childSnapshot.hasChild("dayVisitor")) {
for (DataSnapshot visitorSnapshot : childSnapshot.child("dayVisitor").getChildren()) {
Visitor visitorObject = visitorSnapshot.getValue(Visitor.class); //or whatever your dayVisitor object is
//now you can access visitorObject with the fields you created and do whatever like add it to an arraylist
}
}
}
} @Override
public void onCancelled(DatabaseError databaseError) {
Log.e("READ FAILED", databaseError.getMessage());
}
});
Я не уверен, что делает ваш код, однако я советую, есливозможно, вы пытаетесь отформатировать структуру базы данных, чтобы она была максимально плоской, потому что вложение данных таким способом может стать очень грязным и неэффективным.Возможно, сделайте dayVisitor полем в посетителе, а не собственным дочерним узлом.