Usa estos recursos adicionales para obtener aún más información sobre las corrutinas y el flujo de Kotlin. Estos recursos se agrupan por tema.
Conceptos básicos
- Primero, lo primero: En este artículo, se enseñan conceptos básicos de corrutinas, incluidos los elementos
CoroutineScope
,Job
yCoroutineContext
. - El "abc" de las corrutinas: Obtén información sobre las clases y funciones más comunes que se usan para trabajar con corrutinas.
- Corrutinas en Android (primer artículo vinculado de la serie): Esta publicación es la primera de una serie en la que se enseña sobre las corrutinas de Kotlin.
- Comprende cómo se usan las corrutinas de Kotlin en Android: En esta charla de Google I/O 2019, se brinda una descripción general del uso de las corrutinas de Kotlin en Android.
- Codelab de corrutinas: En este codelab, se muestra cómo usar corrutinas de Kotlin para administrar subprocesos en segundo plano y simplificar tu código asíncrono.
- Corrutinas: Cómo administrar tareas asíncronas en Kotlin: Obtén información sobre el estado de las corrutinas en Android desde el año 2020.
Cancelación
- Cancelación en corrutinas: En este artículo, se describen las ventajas y las desventajas de la cancelación de corrutinas.
- Corrutinas: Atrápalas ya: Conoce las prácticas recomendadas para controlar las cancelaciones y excepciones en las corrutinas de Kotlin.
Excepciones
- Excepciones en corrutinas: Obtén información sobre la propagación de excepciones en corrutinas y cómo procesarlas.
- Corrutinas: Atrápalas ya: Conoce las prácticas recomendadas para controlar las cancelaciones y excepciones en las corrutinas de Kotlin.
Elementos scope
- Corrutinas simples en Android: viewModelScope: En este artículo, se describe
viewModelScope
, una propiedad de extensión que agrega compatibilidad con corrutinas en la claseViewModel
. - Patrones para trabajo que no se debería cancelar: En este artículo, se describe cómo activar corrutinas que no se deberían cancelar usando un objeto
applicationScope
oexternalScope
.
Flujo
- Deja que fluya: Obtén información sobre la API de flujo y sus beneficios.
- Corrutinas avanzadas con LiveData y flujo de Kotlin: Aprende a usar corrutinas de Kotlin con
LiveData
y flujo en una app para Android. - Lecciones aprendidas sobre el uso de flujo de corrutinas en la app de Android Dev Summit 2019: En este artículo, se destacan las prácticas recomendadas y otras lecciones aprendidas para agregar compatibilidad con el tipo Flow en la app de Android Dev Summit 2019.
Pruebas
- Cómo probar corrutinas en Android: Obtén más información sobre las prácticas recomendadas para probar las corrutinas.
- Cómo probar codelab - Sección de corrutinas: Obtén información para probar ViewModels que usan corrutinas mediante el reemplazo de
Dispatchers.Main
porTestCoroutineDispatcher
. - Cómo probar dos emisiones consecutivas de LiveData en corrutinas: Obtén información para usar
TestCoroutineDispatcher
a fin de detener y reanudar la ejecución de corrutinas.
Bibliotecas, Jetpack y Corrutinas
- LiveData con corrutinas y flujo: Esta charla de Android Dev Summit 2019 abarca cómo usar el compilador de corrutinas de
liveData
con patrones de pruebas y antipatrones para crear IU reactivas que sean prolijas, eficientes y sólidas. - Cómo compilar una biblioteca de extensiones de Kotlin: Descubre cómo compilar una biblioteca de extensiones de Kotlin que agregue corrutinas y compatibilidad con Flow a clases existentes.
- Simplificación de las API con corrutinas y flujo: Obtén información para simplificar tus bibliotecas con adaptadores de corrutinas, crear los tuyos y ver cómo funcionan debajo de la superficie.
Corrutinas en la capa View
- Suspensión con vistas: En esta publicación, se explica cómo las corrutinas pueden facilitar la programación de la IU.
Bajo la superficie
- Funciones de suspensión: Vocabulario de Kotlin: Comprende por qué las corrutinas son importantes y cómo funcionan debajo de la superficie.
- El modificador de suspensión bajo la superficie: Descubre cómo el compilador transforma el código para suspender y reanudar la ejecución de tus corrutinas.