Java Android Firestore使用Uid显示用户数据
我正在尝试使用用户id在应用程序中显示用户数据以进行检索。 问题是这段代码会弹出第二个选项,即找不到引用用户的文档Java Android Firestore使用Uid显示用户数据,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我正在尝试使用用户id在应用程序中显示用户数据以进行检索。 问题是这段代码会弹出第二个选项,即找不到引用用户的文档 String userUid = FirebaseAuth.getInstance().getCurrentUser().getUid(); DocumentReference documentReference = firebaseFirestore.collection("Users").document(userUid);
String userUid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DocumentReference documentReference = firebaseFirestore.collection("Users").document(userUid);
documentReference.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Log.d(TAG, "Données : " + document.getData());
} else {
Log.d(TAG, "Pas de données trouvées");
}
} else {
Log.d(TAG, "Une erreur est survenue ", task.getException());
}
}
});
documentReference.addSnapshotListener(getActivity(), new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) {
pseudo.setText(documentSnapshot.getString("Pseudo"));
name.setText(documentSnapshot.getString("Name"));
surname.setText(documentSnapshot.getString("Surname"));
mail.setText(documentSnapshot.getString("Mail"));
age.setText(documentSnapshot.getString("Age"));
}
});
登录用户的密码为:ZXJVBNC5UODCC5729SN
getUid()找到的是:njo4FfZNQLfHktDRzwfYMjmLO6G2
我不明白为什么这不显示正确的Uid…因为登录用户的Uid与数据库中的Uid不同,所以您会得到预期的行为。您无法从实际不存在的节点获取某些内容。最有可能的情况是,您之前使用了该用户,并且不知何故仅从Firebase控制台删除了该帐户,并将相应的数据保留在数据库中。最简单的解决方案是使用当前UID再次写入数据。在这之后,您的代码将正常工作。如果您尝试记录
userUid
的值,那么在logcat中会打印出什么?还请编辑您的问题,并将您的数据库结构添加为JSON文件或至少是屏幕截图。我编辑了我的问题以添加您需要的所有内容。根据您的回答,我尝试重新创建一个用户,以查看我是否确实以某种方式修改了旧的用户,但这并没有改变任何内容,问题仍然是一样的……在这种情况下,请给我看数据库中的新UID和log语句的结果,看它是否匹配,对吗?在新的搜索之后,我注意到在身份验证部分,它确实是正确的UID,就像我请求UID时找到的一样。因此,问题在于保存文档时没有使用正确的Uid。您的回答是正确的,只是我在代码中遗漏了一些内容,谢谢您的帮助!很高兴听到:)不客气,干杯!
D/Données de l'utilisateur: Pas de données trouvées njo4FfZNQLfHktDRzwfYMjmLO6G2