在代码示例中,Bookings下面的关键节点是userIds(2个用户),随后是一个随机push()键。我想检索两个userIds中嵌套的数据。如何检索嵌套的Firebase数据库中的所有数据
databaseReference = FirebaseDatabase.getInstance()
.getReference()
.child("Bookings")
.child(user.getUid());
以上仅供参考适用于登录用户当前
在代码示例中,Bookings下面的关键节点是userIds(2个用户),随后是一个随机push()键。我想检索两个userIds中嵌套的数据。如何检索嵌套的Firebase数据库中的所有数据
databaseReference = FirebaseDatabase.getInstance()
.getReference()
.child("Bookings")
.child(user.getUid());
以上仅供参考适用于登录用户当前
请使用此代码:
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);
希望它能帮助。
上面的示例应该工作正常(userId没有引号),但我的问题只是参考。我通过一个getter类将数据检索到回收站视图中。 –
我刚刚删除了引号。感谢您的观察。因为我没有看到你的类模型或代码,所以我建议你用这种方法解决这个问题,这也是解决这个问题的方法。希望你找到它并让我张贴。 –
请参考我的答案在这里可能会对你有所帮助:https://stackoverflow.com/questions/44427213/android-get-value-from-firebase-database/44427384#44427384 – ashish