를 사용하는 경우 FireStore DocumentSnapshot 포함 DocumentReference를 역 직렬화하는 나는 다음과 같은 경우 FireStore 구조를 가지고 : 나는 코 틀린를 사용하지만 도시와 활동 유형으로 Any
을 사용하여 직렬화하기 위해 관리어떻게 코 틀린
합니다. 지금까지 내 데이터 클래스입니다 :
@IgnoreExtraProperties
data class User (
var firstName: String,
var lastName: String,
var displayName: String,
var birthday: Date,
var memberSince: Date,
var city: Any,
var activities: ArrayList<Any>
) {
constructor():this("", "", "", Date(), Date(), Any(), ArrayList(0))
}
그리고 여기에 내가 데이터 및 역 직렬화를 검색하는 방법입니다
DocumentReference userRef = mFirestoreDB.collection("user").document(mFirebaseUser.getUid());
userRef.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
@Override
public void onEvent(DocumentSnapshot documentSnapshot, FirebaseFirestoreException e) {
if (documentSnapshot.exists()) {
final User user = documentSnapshot.toObject(User.class);
Log.i(TAG, user.toString());
} else if(e != null) {
Log.e(TAG, "Error retrieving user data from Firestore", e);
}
}
});
궁금
, 난 방법 난 강력하게 될 도시와 활동을 입력 할 수있다 DocumentReference
해야합니까?
을 사용하고있는 직렬화 라이브러리? 또는 Firebase 라이브러리가 직렬화를 수행합니까? –
Firebase는 [toObject (java.lang.Class)] (https://firebase.google.com/docs/reference/android/com/google/firebase/firestore/DocumentSnapshot.html#toObject (java.lang.Class))를 제공합니다. Class )) 메서드를 사용하여 deserialize합니다. deserialization을 수행하는 방법에 대한 몇 가지 코드를 추가했습니다. –
Kalem