Я пытаюсь использовать Firebase Firestore в проекте Kotlin. Все идет хорошо, за исключением случаев, когда я хочу создать экземпляр объекта с помощью DocumentSnapshot.toObject(Class valueType).
Вот код:
FirebaseFirestore
.getInstance()
.collection("myObjects")
.addSnapshotListener(this,
{ querySnapshot: QuerySnapshot?, e: FirebaseFirestoreException? ->
for (document in querySnapshot.documents) {
val myObject = document.toObject(MyObject::class.java)
Log.e(TAG,document.data.get("foo")) // Print : "foo"
Log.e(TAG, myObject.foo) // Print : ""
}
}
})
Как вы можете видеть, когда я использую documentChange.document.toObject(MyObject::class.java)
, мой объект создается, но внутренние поля не заданы.
Я знаю, что Firestore нуждается в модели, чтобы иметь пустой конструктор. Итак, вот модель:
class MyObject {
var foo: String = ""
constructor(){}
}
Может кто-нибудь сказать мне, что я делаю неправильно?
Спасибо