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

125
Vistas
No estoy seguro de cómo convertir un Cursor al tipo de retorno de este método después de la actualización de Kotlin a 1.6.0

Estaba usando la biblioteca Android Room en mi proyecto para manipular datos de mi base de datos SQLite y todo funcionaba bien en la versión anterior de Kotlin (1.5.31). Aquí hay una muestra de mi DAO:

 @Dao interface ServersDao { @Query("SELECT * FROM servers ORDER BY connectedDevices, ping ASC LIMIT 1") suspend fun getLeastLoadedServer(): Server @Query("SELECT * FROM servers ORDER BY ping, connectedDevices ASC LIMIT 1") suspend fun getNearestServer(): Server }

Después de actualizar Kotlin a la versión 1.6.0, mi código ya no pudo compilarse y recibo este error:

error: no estoy seguro de cómo convertir un cursor al tipo de retorno de este método (java.lang.Object). public abstract java.lang.Object getLeastLoadedServer(@org.jetbrains.annotations.NotNull()

Después de buscar un poco, leí que se debía a la suspensión de funciones, así que eliminé la palabra clave de suspensión de mi DAO y comencé a recibir el error obvio:

java.lang.IllegalStateException: no se puede acceder a la base de datos en el subproceso principal, ya que podría bloquear la interfaz de usuario durante un largo período de tiempo.

Incluso si estuviera llamando a esas funciones desde una corrutina IO.

También leí el registro de cambios de Kotlin 1.6.0, que no ayudó mucho.

Cualquier ayuda es apreciada, gracias.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Usar Android Room 2.4.0 resolverá el problema.

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