이이처럼 내 테스트 모습입니다 (X는 Y을 각 자식 = 대한) 루프 I를 할 수 있습니다중포 기지 안드로이드, 어떻게 아이를 통해
내가 위의 필드를 사용하지 않습니다, 그것은이다 그냥 거짓. 그 일을 다른 방법이, firebaseAdapter 사용하고 내가 객체를 나열하는 발견
System.out.println(emailString);
유일한 방법 :하지만이를 돌려 각 이메일 "사용자"에와 모든 아이들을 통해 이동 하시겠습니까?
이이처럼 내 테스트 모습입니다 (X는 Y을 각 자식 = 대한) 루프 I를 할 수 있습니다중포 기지 안드로이드, 어떻게 아이를 통해
내가 위의 필드를 사용하지 않습니다, 그것은이다 그냥 거짓. 그 일을 다른 방법이, firebaseAdapter 사용하고 내가 객체를 나열하는 발견
System.out.println(emailString);
유일한 방법 :하지만이를 돌려 각 이메일 "사용자"에와 모든 아이들을 통해 이동 하시겠습니까?
가장 쉬운 방법은 ValueEventListener입니다. 루프에 대한 내부의 DataSnapshot child
키와 UID가있을 것이라는 점을
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot child : dataSnapshot.getChildren()){
// Do magic here
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {}
});
참고 :
FirebaseDatabase.getInstance().getReference().child("users")
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
User user = snapshot.getValue(User.class);
System.out.println(user.email);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
하자가 다음과 같이 사용자, 당신은 노드를 반복 할 수있는 노드에 대한 참조가 말한다 , 아니 사용자.
호기심이 있지만 나쁘지 않습니까? 나는 모든 사용자를 통해'for (DataSnapshot child : dataSnapshot.getChildren())'을 루핑한다는 것을 의미하므로 100 명의 사용자가 있다면로드하는 데 많은 시간이 걸릴 것입니다. 이 문제를 해결할 수있는 방법이 있습니까? –
제 제안은 [Query] (https://firebase.google.com/docs/reference/js/firebase.database.Query)를 통해 다운로드 한 사용자 수를 제한하거나 [ChildEventListener] (더 나은 멀티 스레딩을위한 https://www.firebase.com/docs/java-api/javadoc/com/firebase/client/ChildEventListener.html) – Sunshinator
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference();
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot item_snapshot:dataSnapshot.getChildren()) {
Log.d("item id ",item_snapshot.child("item_id").getValue().toString());
Log.d("item desc",item_snapshot.child("item_desc").getValue().toString());
}
}
}
당신은 https://github.com/firebase/FirebaseUI-Android/blob/master/database/src/main/java/com/firebase/ui/database/FirebaseRecyclerAdapter (['FirebaseRecyclerAdapter']을 찾으시는 .자바)? 그게 뭐가 잘못 됐니? – rubenlop