Firebase Firestore toObject () с Котлином

Я пытаюсь использовать 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) , мой объект documentChange.document.toObject(MyObject::class.java) , но внутренние поля не заданы. Я знаю, что Firestore нуждается в модели, чтобы иметь пустой конструктор. Итак, вот модель:

 class MyObject { var foo: String = "" constructor(){} } 

Может кто-нибудь сказать мне, что я делаю неправильно?

спасибо

Вы забыли включить публичный конструктор с аргументами, или вы также можете просто использовать класс данных со значениями по умолчанию, этого должно быть достаточно:

 data class MyObject(var foo: String = "")