Constructor vacío para el object kotlin para usar Firebase

Intento save un object dentro de la database de Firebase de Kotlin, no me parece correcto proporcionar un constructor vacío pnetworkingeterminado y poner los valores como nullable , teniendo que cambiar todo mi código bc de esto.

Mi class:

 class Video(var id: String, var url: String, var owner: User) : { constructor() : this("", "", User("", "", "")) } 

Empuje de Firebase:

 FirebaseDatabase.getInstance().reference.child("public").push().setValue(video) 

Error:

falta un constructor sin arguments

¿Hay una mejor solución para esto?

Use arguments pnetworkingeterminados:

 class Video(var id: String = "", var url: String = "", var owner: User = User("", "", "")) 

(también, considere usar val ).

No he probado si funciona con Firebase, pero de acuerdo con la documentation de kotlin ,

NOTA: En la JVM, si todos los parameters del constructor principal tienen valores pnetworkingeterminados, el comstackdor generará un constructor sin parameters adicional que utilizará los valores pnetworkingeterminados. Esto hace que sea más fácil usar Kotlin con bibliotecas como Jackson o JPA que crean instancias de class a través de constructores sin parameters.

Entonces, supongo que al aplicar los valores por defecto para todos los parameters del constructor generará el constructor sin parameters para usted.

Necesita agregar un constructor vacío a la class Video. Esto es necesario para poder usar classs con Firebase.

  • ¿es posible agregar una plantilla al getter / setter de una class de datos?
  • cómo usar DecoratingStringHashMapper con kotlin?
  • Datos de caching de request HTTP en RxJava
  • No se puede networkingucir una list de booleans en kotlin
  • Anko ignorando layout_margin definido en estilo
  • NoSuchMethodError: java.lang.Long.hashCode
  • ¿Es posible express kotlin 'con' método equivalente en Scala?
  • Cómo verificar el vacío lambda en kotlin
  • Cómo mantener la reference del object de class singleton en el object complementario, Kotlin
  • Acceso a la function de extensión de Kotlin Campo privado de Java
  • Excepción: blockingConnect no se debe invocar en el subprocess UI a pesar de que subsubscribí en otro subprocess