🔹Convertir cualquier callback en un Flow con CallbackFlow

  Рет қаралды 2,983

DevExpert - Programación Android y Kotlin

DevExpert - Programación Android y Kotlin

Күн бұрын

Пікірлер
@devexpert_io
@devexpert_io 3 жыл бұрын
🎁 Si aún no te decides sobre si Kotlin es el lenguaje que deberías aprender, te animo a que te apuntes a mi masterclass gratuita 👉 bit.ly/3t0Gypq
@rodrigocastrillonrestrepo3454
@rodrigocastrillonrestrepo3454 3 жыл бұрын
Que buen vídeo... El conflate() me soluciona los múltiples clicks que se pueden hacer por error sobre un botón.
@devexpert_io
@devexpert_io 3 жыл бұрын
Gracias Rodrigo!
@UskoKruM2010
@UskoKruM2010 3 жыл бұрын
Muy bueno, Antonio! Saludos! 👋🏻
@devexpert_io
@devexpert_io 3 жыл бұрын
Gracias!
@karlos140289
@karlos140289 Жыл бұрын
Un apunte respecto al código que has mostrado. Si has metido ambos collect{} dentro del mismo scope, siendo collect{} una función que se queda suspendida, el segundo nunca llegaría a ejecutarse, a no ser que el primero se cancelase. Los collect siempre tienen que lanzarse en diferentes scopes para que eso no suceda. 😉
@devexpert_io
@devexpert_io Жыл бұрын
Gracias! En qué minuto? Por revisarlo, es posible que lo hiciera mal. Lo que es necesario es lanzarlo en distintas corrutinas, el scope en principio puede ser el mismo
@karlos140289
@karlos140289 Жыл бұрын
@@devexpert_io De nada. Minuto 6.38. Cierto, el scope es el encargado de lanzar las corrutinas con el launch, me he explicado mal. Dentro de cada launch es donde deberia recolectarse ese Flow ya que es bloqueante, hasta que se cancele o se haga un first(), por ej. Un saludo
@devexpert_io
@devexpert_io Жыл бұрын
@@karlos140289 entonces sí, me confundiría al escribir el código. Es exactamente como dices
@soygabimoreno
@soygabimoreno 3 жыл бұрын
¡Está superguay! No conocía conflate(). Qué bien te explicas, Antonio... ¡así da gusto! 😊
@devexpert_io
@devexpert_io 3 жыл бұрын
Muchas gracias compañero!
@jesusdanielmedinacruz9698
@jesusdanielmedinacruz9698 3 жыл бұрын
Me gustaría ver la librería de rxjava que mencionaste
@devexpert_io
@devexpert_io 3 жыл бұрын
La de RxBinding es esta: github.com/JakeWharton/RxBinding Y su equivalente en Flows: github.com/ReactiveCircus/FlowBinding
@activoysaludable
@activoysaludable 3 жыл бұрын
Buen vídeo crack
@devexpert_io
@devexpert_io 3 жыл бұрын
Gracias!
@nonofce
@nonofce 3 жыл бұрын
Excelente Antonio. Entonces servicios como el FusedLocationProvider o el de FireStore podriamos trabajarlos con Flows para obtener los updates, con el uso del callbackFlow ? Como se llama la libreria que mencionas?
@devexpert_io
@devexpert_io 3 жыл бұрын
Sí. A cuál te refieres? A la que es equivalente a RxBindings?
@nonofce
@nonofce 3 жыл бұрын
@@devexpert_io Si, esa misma.
@alejandro.p
@alejandro.p 3 жыл бұрын
Sí. De hecho hay una página de la documentación en la que pone un fragmento de código usando callbackFlow con Firestore y yo lo he usado para un proyecto. Si te interesa puedo buscar el link
@nonofce
@nonofce 3 жыл бұрын
Te lo agradeceria.
@alejandro.p
@alejandro.p 3 жыл бұрын
@@nonofce developer.android.com/kotlin/flow Es en esta misma al final del todo
@drackon1995
@drackon1995 Жыл бұрын
Excelente video, pero tengo un problema, yo lo aplique para un boton y si le pico varias veces no hace lo que mencionas de solo tomar en cuanta un solo click si no que si lo hace repetidas veces, como se podria solicionar eso? Un saludo desde Mexico.
@devexpert_io
@devexpert_io Жыл бұрын
Investiga por ahí la función debounce() de los flows
@car200031
@car200031 3 жыл бұрын
Tengo una duda, si pongo el conflate en el onScrolled esto no haría que por ejemplo si logro pedir las páginas 1 2 3 4, al final despues de terminar la petición de la página 1 después de eso no iria a la 4? ya que el conflate solo coje el ultimo valor? o estoy mal en algo
@devexpert_io
@devexpert_io 3 жыл бұрын
Depende de cómo tengas el scroll, pero en principio no vas a poder hacer scroll de las páginas que no haya ha cargadas. Si implementas un scroll que sepa de antemano cuantos elementos hay, entonces sí hay que tener más cuidado porque podrías hacer un scroll muy rápido y perderse alguna página
@car200031
@car200031 3 жыл бұрын
@@devexpert_io ¡Gracias por la respuesta! Saludos! 👋🏻
@codekko
@codekko 9 ай бұрын
En jetcpack compose como se haria?:(
@devexpert_io
@devexpert_io 9 ай бұрын
Compose ya es reactivo, así que en principio estas cosas no hacen mucha falta. Pero el callbackFlow sirve mucho también en la parte back, si por ejemplo usas una API de alguna librería que solo ofrece callbacks y no tiene soporte para corrrutinas.
@codekko
@codekko 9 ай бұрын
@@devexpert_io entiendo, muchas gracias 😸
Cómo hacer Tests de Corrutinas y Flows en Kotlin [Paso a Paso]
19:34
DevExpert - Programación Android y Kotlin
Рет қаралды 3,6 М.
Las 14 Mejores Librerías de KMP para Tus Proyectos Multiplatform
0:25
DevExpert - Programación Android y Kotlin
Рет қаралды 113
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
Android XR: First Impressions and Development on the New Samsung Moohan Glasses!
24:01
DevExpert - Programación Android y Kotlin
Рет қаралды 817
Firebase Cloud Functions -  Activando con el Storage
25:08
DevHack
Рет қаралды 1,1 М.
Google’s Quantum Chip: Did We Just Tap Into Parallel Universes?
9:34
Crea tu Blog y Portfolio GRATIS en 5 Minutos con GitHub Pages y Astro 🚀
17:14
DevExpert - Programación Android y Kotlin
Рет қаралды 1 М.
Cómo Consumir APIs en Android con Retrofit y Kotlin: Guía Práctica
17:13
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН