从.getUid()获取firebase数据库的价值

时间:2017-04-13 09:40:04

标签: android json database firebase

我正在使用Android Studio和Firebase,并想知道如何执行以下操作,因为似乎没有太多关于如何执行此操作的在线。所以我有一个表'users',其中包含有关用户的信息,该表的ID是FirebaseAuth中生成的用户ID,可以使用.getUid()检索。我想查询users表,以根据当前用户ID检索一些数据。我会提出一些我的代码,但这是为了一项任务。任何指针都会受到很大的影响。感谢

enter image description here

所以我想基于EINOwbk5p通过这个表检索一个值...这样我就可以为当前的授权用户检索数据了。

2 个答案:

答案 0 :(得分:1)

如果没有看到代码或数据结构,很难说,但是您是否正在考虑从密钥中检索数据库项目?如果是这样可能会有所帮助:

private DatabaseReference myRef;
myRef = ....
User getUser = myRef.child(userKey);

getUser.addValueEventListener(new ValueEventListener() {....}

答案 1 :(得分:1)

FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance();
FirebaseUser mFirebaseUser = mFirebaseAuth.getCurrentUser();
DatabaseReference mFirebaseDbReferenceUserChild = FirebaseDatabase.getInstance().getReference("users");
DatabaseReference mFirebaseDbReferenceCurrentUser= mFirebaseDatabaseReferenceUserChild.child(mFirebaseUser.getUid());
mFirebaseDbReferenceCurrentUser.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            // TO GET USERDETAILS FOR CURRENT USER
            String userDetails = dataSnapshot.getValue().toString());
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });

这样,您可以通过传递CURRENT USER的uId从“users”表中获取CURRENT USER的数据。