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

Columna lenta y perezosa de Android Compose.

He creado toda una aplicación en Jetpack Compose. Sin embargo, el rendimiento en el Lazy Column es bastante malo y no tiene sentido. El Lazy Column debería ser el reemplazo de RecyclerView, pero RecyclerView funciona mucho mejor en este momento. Hice un Lazy Column con encabezados y Lazy Rows como . . . Read more

Prueba unitaria de callbackFlow.

Tengo una API basada en callbacks como esta: class CallbackApi { fun addListener(callback: Callback) { // todo } fun removeListener(callback: Callback) { // todo } interface Callback { fun onResult(result: Int) } } y una función de extensión que convierte la API en un flujo frío: fun CallbackApi.toFlow() = callbackFlow<int> . . . Read more

Kotlin OkHTTP android.os.NetworkOnMainThreadException can be translated to Spanish as “Excepción de android.os.NetworkOnMainThreadException en Kotlin con OkHTTP”. Please note that “Kotlin” and “OkHTTP” remain the same in Spanish as they are specific terms.

Estoy enviando una solicitud HTTP con Kotlin y obtengo este error. Error: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx/xxx.android.ui.xxx}: android.os.NetworkOnMainThreadException Información adicional: La solicitud GET debe funcionar primero. Porque el proceso continúa según la respuesta del URL. Mi código: override fun onCreate(savedInstanceState: Bundle?) { setTheme(R.style.AppTheme_MainActivity) super.onCreate(savedInstanceState) val request = Request.Builder() .url(“https://publicobject.com/helloworld.txt”) . . . Read more

Espera a que termine el filtrado en Android con coroutines.

Tengo el siguiente código: private fun filterCarouselItems(loggedInFilter: Boolean) { CoroutineScope(Dispatchers.IO).launch { if (loggedInFilter) filteredCarouselItems = carouselItems.filter { it.visible == CarouselVisibilityEnum.LOGGEDIN.visibility || it.visible == CarouselVisibilityEnum.BOTH.visibility } as ArrayList<CarouselItem> else { filteredCarouselItems = carouselItems.filter { it.visible == CarouselVisibilityEnum.LOGGEDOUT.visibility || it.visible == CarouselVisibilityEnum.BOTH.visibility } as ArrayList<CarouselItem> } withContext(Dispachers.Main) { notifyDataSetChanged() } } } . . . Read more

¿Cómo podemos combinar SavedStateHandler con LiveData Coroutine Builder?

En un ViewModel típico de Android, podemos crear fácilmente un LiveData Restorable utilizando la siguiente línea de código: val liveData = savedStateHandle.getLiveData<string>(“SomeKey”) Cada vez que se establece un valor en el LiveData, se guarda automáticamente y puede restaurarse. Sin embargo, si utilizamos el constructor de coroutines liveData (es decir, https://developer.android.com/topic/libraries/architecture/coroutines#livedata), . . . Read more