【发布时间】:2018-06-28 09:15:39
【问题描述】:
我对 Cloud Firestore 很陌生,但我正在努力学习它。
谁能解释我如何在文档中添加一个对象(带有嵌套字段)然后检索/取回它?
我知道如何通过Hashmap 和add() 方法添加数据(如字符串)并使用get() 方法取回,但我不知道对象。
任何帮助将不胜感激。
谢谢!
编辑:我研究了 android 开发人员文档并找到了添加具有嵌套字段的对象的解决方案。但现在我正在努力如何找回它们。我尝试了以下代码:
DocumentReference docRef =
db.collection("Users").document("myDocument");
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>({
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document != null) {
Object object = task.getResult().getData().get("myObject");
String str = object.toString();
tv.setText(str);
} else {
Log.d(TAG, "No such document");
}
} else {
Log.d(TAG, "get failed with ", task.getException());
}
}
});
它显示的是对象的值,而不是对象内嵌套字段的值。如何获取对象的字段值?顺便说一句,我检查了以下帖子 Accessing data stored as object in firestore 并尝试了它的答案,但我的应用程序因以下日志错误而崩溃:
" java.lang.NullPointerException: Attempt to invoke virtual method
'java.lang.Object java.util.HashMap.get(java.lang.Object)' on a null object
reference
任何意见/帮助将不胜感激! "
【问题讨论】:
标签: android firebase google-cloud-firestore