适用于Android的Firebase,我如何遍历一个孩子(对于每个孩子= x做y)

Ros*_*erg 17 java android firebase firebase-realtime-database

这是我的测试看起来像:

在此输入图像描述

我不会使用上面的字段,它只是一个假人.但我想通过"用户"上的所有孩子,并为每个电子邮件返回一个:

System.out.println(emailString);
Run Code Online (Sandbox Code Playgroud)

我发现列出对象的唯一方法是使用firebaseAdapter,还有另一种方法吗?

rub*_*p88 35

最简单的方法是使用ValueEventListener.

    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) {
                }
            });
Run Code Online (Sandbox Code Playgroud)

  • 用户在这里是什么? (4认同)

小智 5

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());
     }
  }
}
Run Code Online (Sandbox Code Playgroud)