Flow + LiveData

flow + livedata

Episodio 17 – Flow + LiveData

Flow es el heredero natural de RxJava.

Si lo usamos como sustituto de éste, no nos va a hacer falta incluir esta dependencia en nuestros proyectos. Con el consecuente ahorro de espacio en los móviles de nuestros usuarios.

Un flow es como una sequence, que es un tipo de colección que te va a dar valores de manera lazy. Es decir, que se emiten cuando el receptor está preparado para ello. Y además, tiene el valor añadido de que es asíncrono (recordemos que es un componente dentro de las corrutinas).

Lo usamos en conjunto con LiveData.

Flow se suele emplear para generar flujos de datos entre las capas de arquitectura más internas hacia las más externas. Por ejemplo, de los repositorios y / o datasources hacia los viewModels. Y LiveData lo que hacemos es usarlo dentro de los viewModels para poder proporcionar esos datos que serán observados a su vez en las vistas, es decir en los fragments y activities, que es donde se muestra la información proveniente de esos datos por pantalla al usuario de manera reactiva.

Flow + LiveData

Transcripción

¡Muy buenas!
Soy Gabi Moreno y te doy la bienvenida al episodio número 17 de Productividad en el Desarrollo Android, el podcast donde hablamos sobre qué puedes hacer para ser una desarrolladora o desarrollador Android más eficaz y eficiente.

Te contamos técnicas, hábitos, herramientas, conceptos, tips y todo aquello que te va a hacer crecer sí o sí, porque hay algo que todos tenemos en común, y es que el día dura 24 horas. Cómo inviertas o hagas este tiempo es cosa tuya.

Flow es una parte de la biblioteca de corrutinas que nos vale para aplicar programación reactiva. Para empezar, comentarte que Flow es el heredero natural de RxJava y que si lo usamos como sustituto de este, no nos va a hacer falta incluir la biblioteca de RxJava como dependencia en nuestros proyectos, con el consecuente ahorro de espacio asociado en los vánders y apk de nuestros usuarios.

Comentarte que en el episodio de hoy voy a hablarte de algo más técnico en comparación con otros capítulos que habrás escuchado, pero asegurarte que lo voy a tratar de un modo súper súper concentrado y resumido. Lo bueno, si breve, dos veces bueno.

Vamos a ver. Un Flow sería como una Sequence, que es un tipo de colección que te va a dar valores de una manera lazy, es decir, que se emiten cuando el receptor está preparado para ello, es decir, que se hace de manera on-demand y además tiene el valor añadido de que es asíncrono.

Recordemos que es un componente dentro de las corrutinas, pero vamos a ver cuándo usamos la id data y cuándo Flow. Bueno, para empezar, no es que usemos uno u otro, es que lo usamos en conjunto. Ok, Flow se suele emplear….

Publicado: 2020-10-12 Actualizado: 2024-05-14