在代码示例中,预订下面的关键节点是userIds(2个用户),后跟随机push()键。我想检索嵌套在userIds中的数据。
databaseReference = FirebaseDatabase.getInstance()
.getReference()
.child("Bookings")
.child(user.getUid());
上述参考仅适用于当前登录的用户
答案 0 :(得分:0)
请使用此代码:
databaseReference = FirebaseDatabase.getInstance().getReference().child("Bookings");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String userId = dataSnapshot.getKey();
DatabaseReference keyRef = FirebaseDatabase.getInstance().getReference().child("Bookings").child(userId);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String Client_name = ds.child("Client_name").getValue(String.class);
String Data = ds.child("Data").getValue(String.class);
//and so on
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
keyRef.addListenerForSingleValueEvent(valueEventListener);
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
databaseReference.addListenerForSingleValueEvent(eventListener);
希望它有所帮助。