Чтобы получить все отзывы, которые соответствуют всем пользователям, вам нужно повторить итерацию дважды, как в следующих строках кода:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference reviewsRef = rootRef.child("reviews");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot uidSnapshot : dataSnapshot.getChildren()) {
for(DataSnapshot reviewSnapshot : uidSnapshot.getChildren()) {
String comment = reviewSnapshot.child("comment").getValue(String.class);
Log.d("TAG", comment);
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d("TAG", databaseError.getMessage()); //Don't ignore errors!
}
};
reviewsRef.addListenerForSingleValueEvent(valueEventListener);
Результатом logcat будет:
Really nice place
The ideal place for holiday. No matter if it
Hi
Если вы используете класс POJO для своего объекта обзора, используйте:
Review review = reviewSnapshot.getValue(Review.class);
Log.d("TAG", review.getComment());