在代碼示例中,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