【发布时间】:2021-04-07 08:55:21
【问题描述】:
我正在尝试获取一个名为 services 的字段,它是 Firestore 文档中的字符串数组。
我是这样做的:
fAuth = FirebaseAuth.getInstance();
fStore = FirebaseFirestore.getInstance();
fAuth.signInWithEmailAndPassword(Etemail.getText().toString(), Etpassword.getText().toString()).addOnSuccessListener(new OnSuccessListener<AuthResult>() {
@Override
public void onSuccess(AuthResult authResult) {
Uid = authResult.getUser().getUid();
checkUserAccessLevel(Uid);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(LoginActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
private void checkUserAccessLevel(String uid) {
DocumentReference df = fStore.collection("Users").document(uid);
df.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
List<String> services = new ArrayList<>();
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Map<String, Object> map = document.getData();
for (Map.Entry<String, Object> entry : map.entrySet()) {
services.add(entry.getValue().toString());
}
Log.d(TAG, services.toString());
} else {
Log.d(TAG, "No such document");
}
} else {
Log.d(TAG, "get failed with ", task.getException());
}
}
});
}
这是 Firebase Firestore DB 的屏幕截图!
请帮我完成任务。
【问题讨论】:
-
您实际上并没有说出您提供的代码有什么问题。确保发布您想要的输出、实际得到的结果、任何崩溃等。
标签: java android firebase google-cloud-firestore