2016-10-18 40 views
1

ANDROID:我有一個這樣的Firebase數據庫。 phoot從Firebase數據庫中恢復所有數據

在我的應用程序中,我想編譯一個數組列表,顯示nameofEntry [DESCRIBED BELOW]中的所有值。我的意思是「balso」,「nairboh」等等。

我有引用:

DatabaseReference root = FirebaseDatabase.getInstance().getReference(); 
DatabaseReference users = root.child("Users"); 
DatabaseReference childRef = users.child(userID); 
DatabaseReference childRefNameNode = childRef.child(nameOfEntry); 
childRefNameNode.child(nameOfEntry).setValue(nameOfEntry); 

//獲取數據

childRefNameNode.child(nameOfEntry).addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       String valueFromDB = dataSnapshot.getValue(String.class); 
       Log.i("Jimit", valueFromDB); 


      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

但這只是取了一個條目。我如何獲得更多參賽作品? [他們全部]?

回答

0

您需要使用此代碼段。您尚未使用任何for循環來跨越您的孩子。

編輯:此外,更新數據庫參考爲:

//Updated ref 
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users").child(userID);* 

    //add listener to updated ref 
    ref.addValueEventListener(new ValueEventListener() { 
         @Override 
         public void onDataChange(DataSnapshot dataSnapshot) { 

         //use the for loop here to step over each child and retrieve data     
         for (DataSnapshot childSnapshot : dataSnapshot.getChildren()){ 
          String valueFromDB = childSnapshot.getValue(String.class); 
          Log.i("Jimit", valueFromDB); 
         } 


         } 

         @Override 
         public void onCancelled(DatabaseError databaseError) { 

         } 
        }); 

不要讓我知道,如果它改變了你什麼。

+0

這並非不幸 –

+0

您的數據庫引用不正確 –

+0

@augustalsina檢查編輯的答案,並註釋值事件偵聽器將只返回更改值的快照。 –