繁体   English   中英

Android Firebase从实时数据库获取其他用户的uid

[英]Android Firebase get other user's uid from realtime database

有什么办法可以从实时数据库中获取另一个用户的uid? 我想从数据库中同时获取具有不同uid的2个名称对象。

Json文件:

"Users" : {
  "PnZdR1Ily5R5R58FYFVEuWN0Q855" : {
     "-Kwwceeevvvvvttvv" : {
      "name" : "abc"
      }, 
     "-Kccrr325gdfgdfFg" : {
      "name" : "abc"
      }
    }, 
  "MeTsW4SsW6e8hGrsFfVUuNNaQ3cj" : {
     "-Kfvr345345354555" : {
      "name" : "zxc"
      }, 
     "-Kbfhf56464646646" : {
      "name" : "zxc"
      }
  }
}

这是我的代码:

ValueEventListener postListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                User details = dataSnapshot.getValue(User.class);
                mName = details.name;
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Log.w(TAG, "getUser:onCancelled", databaseError.toException());
            }
        };
mDatabase.child("Users").child($uid).addValueEventListener(postListener);

这是我要坚持的部分,如何同时获得两个uid?

如果要检索随机密钥,则应使用addChildEventValueListerner因为它使“ 用户”节点的子节点一个接一个。

 FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
 DatabaseReference mref = firebaseDatabase.getReference();
 mref.child("Users").addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
              if (dataSnapshot.hasChildren()) {
                  User details = dataSnapshot.getValue(User.class);
              }

        }

        @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

        }

        @Override
        public void onChildRemoved(DataSnapshot dataSnapshot) {

        }

        @Override
        public void onChildMoved(DataSnapshot dataSnapshot, String s) {
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM