Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

978
Vistas
Error de Kotlin/Room: el parámetro especificado como no nulo es nulo: método kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, mensajes de parámetros

No estoy seguro de qué está causando esto, pero estoy tratando de solicitar datos de la API que incluye una matriz de objetos Message . Si imprimo el resultado en la consola, los datos son correctos aparte de Messages=null cuando esperaría que Message fuera una matriz de objetos. No puedo entender lo que me he perdido?

Recibo este error: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter messages

¿Alguien podría indicarme la dirección correcta? Código a continuación para la clase:

 const val PROFILE_RESPONSE_ID = 0 @Entity(tableName = "profile") data class ProfileResponse( val id: Int, val name: String, val code: String, val title: String, @SerializedName("profile_image") val profileImage: String, @SerializedName("background_image") val backgroundImage: String, @Embedded(prefix = "messages_") val messages: ArrayList<Messages>, ) { @PrimaryKey(autoGenerate = false) var responseId: Int = PROFILE_RESPONSE_ID }

Muestra JSON:

 { "id": 44, "name": "Jason", "code": "jason", "title": "Jason Scott", "profile_image": "https://sampleurl.com/sample_profile.jpg", "background_image": "", "messages": [ { "id": 0001, "message": "Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.", "timestamp": "Thu, 01 Jan 1970 01:00:00 +0100", } { "id": 0002, "message": "Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.", "timestamp": "Thu, 01 Jan 1970 01:00:00 +0100", } { "id": 0003, "message": "Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum.", "timestamp": "Thu, 01 Jan 1970 01:00:00 +0100", } }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Logré resolver esto eliminando @Embedded ya que no necesariamente necesitaba los datos en otra tabla, y agregué un TypeConverter para convertir la lista en una Cadena y viceversa (Esta pregunta ayudó). Para referencia para cualquier otra persona:

Clase TypeConvertor

 class Convertors { @TypeConverter fun listToJson(value: List<Message>?): String { return Gson().toJson(value) } @TypeConverter fun jsonToList(value: String): List<Message>? { val objects = Gson().fromJson(value, Array<Message>::class.java) as Array<Message> val list = objects.toList() return list } }

Luego, agregue @TypeConverters a mi clase de base de datos.

Clase de base de datos

 @Database(entities = [ProfileResponse::class], version = 1) @TypeConverters(Convertors::class) abstract class MainDatabase: RoomDatabase() { abstract fun profileResponseDao(): ProfileResponseDao }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda