【问题标题】:how to get all child nodes from firebase database?如何从firebase数据库中获取所有子节点?
【发布时间】:2019-05-24 06:37:38
【问题描述】:

这是我的结构。我正在尝试为我的应用程序编写记分牌,但我无法获得用户名和分数。我想在排序列表中保护该用户名和分数以获得前 10 名。

这是我的代码:我只获取用户名。

databaseReference = FirebaseDatabase.getInstance().getReference("Users");
    databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                Userlist = new ArrayList<String>();
                // Result will be holded Here

                for (DataSnapshot dsp : dataSnapshot.getChildren()) {
                    for (DataSnapshot as : dataSnapshot.getChildren()) {
                        String userkey= as.getKey();
                        Userlist.add(userkey); //add result into array list

                    }
                }

                un.setText(Userlist.get(2));

            }

        @Override
        public void onCancelled(DatabaseError error) {

        }
    });

【问题讨论】:

    标签: java android database firebase firebase-realtime-database


    【解决方案1】:

    尝试以下方法:

    databaseReference = FirebaseDatabase.getInstance().getReference("Users");
    databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                Userlist = new ArrayList<String>();
                // Result will be holded Here
    
                for (DataSnapshot dsp : dataSnapshot.getChildren()) {
                        String userkey  = dsp.getKey();
                        String scores   = dsp.child("scorehigh").getValue().toString();
                        Userlist.add(userkey); //add result into array list
                    }
                }
    
                un.setText(Userlist.get(2));
    
            }
    
        @Override
        public void onCancelled(DatabaseError error) {
    
        }
    });
    

    引用位于Users,然后您需要循环两次才能访问属性scorehighusername

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-18
      • 2019-01-03
      • 1970-01-01
      • 2018-09-22
      • 2019-09-28
      • 2018-04-17
      • 2018-05-17
      • 2020-09-13
      相关资源
      最近更新 更多