2017-06-14 39 views
0

在代碼示例中,Bookings下面的關鍵節點是userIds(2個用戶),隨後是一個隨機push()鍵。我想檢索兩個userIds中嵌套的數據。如何檢索嵌套的Firebase數據庫中的所有數據

data

databaseReference = FirebaseDatabase.getInstance() 
    .getReference() 
    .child("Bookings") 
    .child(user.getUid()); 

以上僅供參考適用於登錄用戶當前

+0

請參考我的答案在這裏可能會對你有所幫助:https://stackoverflow.com/questions/44427213/android-get-value-from-firebase-database/44427384#44427384 – ashish

回答

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); 

希望它能幫助。

+0

上面的示例應該工作正常(userId沒有引號),但我的問題只是參考。我通過一個getter類將數據檢索到回收站視圖中。 –

+0

我剛剛刪除了引號。感謝您的觀察。因爲我沒有看到你的類模型或代碼,所以我建議你用這種方法解決這個問題,這也是解決這個問題的方法。希望你找到它並讓我張貼。 –

相關問題