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