es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: KOTLIN-COROUTINES

Kotlin Flow y Websockets con arquitectura limpia en Android

Recientemente, nuestro equipo intentó implementar websockets. Pensamos fácilmente en usar Rx cuando escuchamos eventos, pero me pregunté cómo hacerlo sin él. Así que probamos el famoso Kotlin Flow, pero no sé si nuestra implementación es correcta. La arquitectura de nuestra aplicación está dividida en cuatro capas: – Servicio: emite y . . . Read more

Mejorando la legibilidad de los errores de las corutinas

Tengo una solicitud de retrofit que devuelve una función suspendida: suspend fun getItems(): retrofit2.Response<><item>> y la manejo de esta manera: try { val response = service.getItems() when { response.isSuccessful -> handleResponse() else -> handleError(Throwable( response.errorBody()?.charStream()?.readText() )) } } catch (e: Exception) { handleError(e) } El problema es: a veces obtengo . . . Read more

Después de dos o más rotaciones de pantalla, lifecycleScope.launchWhenCreated deja de funcionar como se espera.

Tengo un código como este: private val appViewModel: AppViewModel by activityViewModels() private lateinit var user: User override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) // Esto establece la variable user en el valor recopilado de un StateFlow desde appViewModel lifecycleScope.launchWhenCreated { appViewModel.user.collect { flowUser -> user = flowUser } } } override . . . Read more