Firebase Realtime数据库中有一个名为“ getValue()”的函数,在Firestore数据库中它等效吗?下面是我基于Firebase Realtime Database的代码,我设法更改了所有其他内容,只剩下了
SnapshotParser<FriendlyMessage> parser = new SnapshotParser<FriendlyMessage>() {
@Override
public FriendlyMessage parseSnapshot(DocumentSnapshot dataSnapshot) {
FriendlyMessage friendlyMessage = dataSnapshot.getValue(FriendlyMessage.class);
if (friendlyMessage != null) {
friendlyMessage.setId(dataSnapshot.getId());
}
return friendlyMessage;
}
};
答案 0 :(得分:1)
我认为OP正在寻找一种将DocumentSnapshot
转换为Java对象的方法。 firestore
中的等效方法是toObject
。这是来自官方documentation-
DocumentReference docRef = db.collection("cities").document("BJ");
docRef.get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
City city = documentSnapshot.toObject(City.class);
}
});
您的情况是-
FriendlyMessage friendlyMessage = dataSnapshot.toObject(FriendlyMessage.class);