如何从Firebase获取所有child的Java对象的ArrayList
如何使用更新的Firebase命令从Firebase获取所有child的Java对象的ArrayList,目前我正在使用下面的方法,但无法获取列表如何从Firebase获取所有child的Java对象的ArrayList,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,如何使用更新的Firebase命令从Firebase获取所有child的Java对象的ArrayList,目前我正在使用下面的方法,但无法获取列表 ValueEventListener postListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { // Get Post
ValueEventListener postListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Get Post object and use the values to update the UI
if(dataSnapshot!=null){
for (DataSnapshot postSnapshot: dataSnapshot.getChildren()) {
UserDataClass post = postSnapshot.getValue(UserDataClass.class);
members.add(post);
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Getting Post failed, log a message
}
};
mDatabaseRef.addValueEventListener(postListener);
下面是从firebase返回的datasnapshot,但我无法从中获得所需的结果
我想要的是所有成员的名单
我的java对象是
ValueEventListener
还有另一个用途。
您应该使用ChildEventListener
和dataSnapshop.getValue()
来实现您想要的功能,例如:
ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {
UserDataClass post = postSnapshot.getValue(UserDataClass.class);
members.add(post);
}
//...
注意:
您应该将侦听器与当前的firebase\u引用一起使用到Users
表。因此,您应该替换
mDatabaseRef.addValueEventListener(postListener);
与
请注意,Members
表的完整路径是彩色的,我无法确定路径
您可以找到完整的文档
祝你好运请发布你的Firebase数据结构请检查Firebase数据结构added@AnwarKamal您遇到了什么问题或错误?没有错误,但使用单个空对象获取arrayList我已经尝试了此操作,但结果相同。我通过添加一些信息更新了我的问题,请再次检查。您可以添加您的mDatabaseRef
?您的数据库结构
再次检查我已经添加了我的数据库结构mdatabaseref.child(“xxxx”).child(“xyz”).child(“成员”);请检查以上评论,我已经提供了完整的数据库参考
ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {
UserDataClass post = postSnapshot.getValue(UserDataClass.class);
members.add(post);
}
//...
mDatabaseRef.addValueEventListener(postListener);
mDatabaseRef.child("Members").addChildEventListener(childEventListener);