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

新手上路,请多包涵

这是我的测试的样子:

在此处输入图像描述

我不会使用上面的字段,它只是一个虚拟的。但我想遍历“用户”上的所有孩子,并为每封电子邮件返回一个:

 System.out.println(emailString);

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

原文由 Rosenberg 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 354
2 个回答

最简单的方法是使用 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) {
                }
            });

User 类可以这样定义:

 class User {
  private String email;
  private String userId;
  private String username;
  // getters and setters...
}

原文由 rubenlop88 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

原文由 Amol Dhanwat 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题