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 = "") 
Intereting Posts
Как «Список <MyClass> :: clas.java` в kotlin Как я могу получить значение (объект) свойства ресурса? Отношение Heroku postgres "information_schema.session_state" не существует Kotlin не компилируется из src / main / kotlin при использовании maven пусть, также, применять, takeIf, takeUnless в Котлине Nullablity DB генерирует атрибуты jackson-dataformat-csv не игнорирует неизвестные свойства общие интерфейсы с методами reified Могу ли я использовать @Bean из AndroidAnnotation в Котлине? Завод Котлин на внутреннем вложенном классе JPA, Spring Data и Kotlin – Сохранение записей «Невозможно преобразовать объект типа java.lang.String в тип com.android.projectrc.Listing» при использовании Firebase RecyclerAdapter Как реализовать свойство, которое извлекается из определенного источника, пока оно не будет установлено непосредственно в Котлин? Анимация просмотра путем масштабирования до полной высоты экрана от его положения Как получить результат функции огурца