2016-10-18 6 views
1

ANDROID : 저는 이와 같은 Firebase 데이터베이스를 가지고 있습니다. phootFirebase 데이터베이스에서 모든 데이터를 얻으십시오.

내 응용 프로그램에서는 nameofEntry [DESCRIBED BELOW]의 값을 모두 표시하는 arraylist를 컴파일하고 싶습니다. 이것에 의하여 나는 "balso", "nairboh"등등을 의미합니다. DATA

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

      } 
     }); 

를 FETCH

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

// 그러나 이것은 단지 하나 개의 항목을 가져옵니다 :

나는 참조를 가지고있다. 더 많은 항목을 얻으려면 어떻게해야합니까? [모두들?]

답변

0

이 코드 스 니펫을 사용해야합니다. 자녀를 돌보기위한 루프를 위해 을 사용하지 않았습니다.

편집 :으로 또한, 데이터베이스 참조를 업데이트

//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 편집 된 답변을 확인하고 메모 값 이벤트 수신기는 변경된 값의 스냅 샷 만 반환합니다. –

관련 문제