Firestore数据库中的getValue()等价于什么?

时间:2019-10-29 09:52:05

标签: android firebase firebase-realtime-database google-cloud-firestore

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;
            }
};

1 个答案:

答案 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);