Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Firebase获取所有child的Java对象的ArrayList_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

如何从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

如何使用更新的Firebase命令从Firebase获取所有child的Java对象的ArrayList,目前我正在使用下面的方法,但无法获取列表

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