Java 尝试查询我的Firestore数据库以检索字段=当前用户userUID的结果
我试图查询我的google Firestore数据库,以检索Java 尝试查询我的Firestore数据库以检索字段=当前用户userUID的结果,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我试图查询我的google Firestore数据库,以检索userUID字段=当前用户的数据。据我所知,我已经对userUID进行了硬编码,尽管这对于任何登录的用户都必须更改为唯一的。我的代码如下: public void viewMyAttendance(View v) { attendanceRef3.whereEqualTo("userUID", "rJe547HwBrWFWa90zVdUl6PYfo03")//("userUID", FirebaseAuth.getIn
userUID
字段=当前用户的数据。据我所知,我已经对userUID
进行了硬编码,尽管这对于任何登录的用户都必须更改为唯一的。我的代码如下:
public void viewMyAttendance(View v) {
attendanceRef3.whereEqualTo("userUID", "rJe547HwBrWFWa90zVdUl6PYfo03")//("userUID", FirebaseAuth.getInstance().getCurrentUser())
.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
String data = "";
for (QueryDocumentSnapshot documentSnapshot : queryDocumentSnapshots) {
Attendance attendance = documentSnapshot.toObject(Attendance.class);
//attendance.setDocumentID(documentSnapshot.getId());
//Session session = documentSnapshot.toObject(Session.class);
String sessionID = attendance.getSessionID();
String studentID = attendance.getUserUID();
//String documentID = session.getDocumentID();
data += "Session ID: " + sessionID + "\n" + "User UID: " + studentID + "\n\n";
}
textViewData.setText(data);
}
});
}
public void viewMyAttention(视图v){
AttendanceEF3.whereEqualTo(“userUID”,“rJe547HwBrWFWa90zVdUl6PYfo03”)/(“userUID”,FirebaseAuth.getInstance().getCurrentUser())
.get().addOnSuccessListener(新的OnSuccessListener()){
@凌驾
成功时公共无效(QuerySnapshot QueryDocumentSnapshot){
字符串数据=”;
用于(QueryDocumentSnapshot文档快照:QueryDocumentSnapshot){
考勤考勤=documentSnapshot.toObject(考勤.class);
//attention.setDocumentID(documentSnapshot.getId());
//Session Session=documentSnapshot.toObject(Session.class);
字符串sessionID=attention.getSessionID();
String studentID=attention.getUserUID();
//字符串documentID=session.getDocumentID();
数据+=“会话ID:“+sessionID+”\n“+”用户UID:“+studentID+”\n\n”;
}
textViewData.setText(数据);
}
});
}
目前,我有一个用户的userUID硬编码,我想为每个登录的用户更改它 要解决此问题,您需要使用,以便从
FirebaseUser
对象获取uid
,如下所示:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
这里的问题是什么?目前我有一个用户的userUID硬编码,我希望对每个登录的用户都进行更改,以便userUID field=当前用户的userUID,而不是我硬编码的userUID inIt。看起来您已经注释掉了使用Firebase Auth获取UID的代码。使用UID时会出现什么错误?字符串uid=auth.getInstance().getCurrentUser().getUid()@SeanGallagherWorks很好,很抱歉去度假了,只是更新了答案,谢谢