【发布时间】:2021-03-07 03:48:33
【问题描述】:
我使用 docRef.get() 从 Cloud Firestore 获取集合的地图。但是,离开public void onSuccess(DocumentSnapshot documentSnapshot) 方法后,我无法使用地图中的值。在 JS 中,我知道我可以执行 subscribe 方法,但在 Android 中我不知道该怎么做。
这是我获取地图的代码:
docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
if(documentSnapshot.exists()){
doc = documentSnapshot.getData();
Toast.makeText(ChatActivity.this,"Data loaded",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(ChatActivity.this,"No data exists",Toast.LENGTH_SHORT).show();
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(ChatActivity.this, "Error", Toast.LENGTH_SHORT).show();
Log.d("TAG",e.toString());
}
});
之后我想使用地图,将textView 设置为message:
for(String key : doc.keySet()){
message += key + "\n" + doc.get(key)+"\n";
}
ui.setText(message);
【问题讨论】:
标签: java android database firebase google-cloud-firestore