从.getUid()获取来自Firebase数据库的价值
问题描述:
我正在使用Android Studio和Firebase,并且想知道如何执行以下操作,因为在如何执行此操作方面似乎没有太多联机方式。所以我有一个包含用户信息的表'users',该表的ID是FirebaseAuth中生成的用户ID,可以使用.getUid()检索。我想查询用户表,以根据当前用户标识检索一些数据。我会放一些我的代码,但这是一个任务。任何指针都会非常适合。由于从.getUid()获取来自Firebase数据库的价值
所以我想通过检索基于EINOwbk5p此表中的值......让我对目前的授权用户retrieveing数据。
答
很难说如果没有看到代码或数据结构,但是您是否正在从密钥中检索数据库项目?如果是这样,这可能帮助:
private DatabaseReference myRef;
myRef = ....
User getUser = myRef.child(userKey);
getUser.addValueEventListener(new ValueEventListener() {....}
答
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) {
}
});
这样就可以通过使电流用户的UID获取从“用户”表当前用户的数据。
你能否给我们提供你的数据库结构? –