Domina los FLOWS - STATEFLOW, SHAREDFLOW y todo lo necesario para trabajar en Android con KOTLIN.

  Рет қаралды 17,696

Programación Android by AristiDevs

Programación Android by AristiDevs

Күн бұрын

Пікірлер
@AristiDevs
@AristiDevs Жыл бұрын
¡Si quieres más tutoriales SÍGUEME! aristi.dev
@calixtoandrade996
@calixtoandrade996 Жыл бұрын
el problema no es el init del ViewModel. el problema es que en tu fragmento no estabas utilizando la instancia del viewModel. Sí, lo estabas inyectando, pero sólo se va a proveer la dependencia para cuando realmente la utilices. Has de cuenta que inyectar es casi casi como un lateinit.
@calixtoandrade996
@calixtoandrade996 Жыл бұрын
Otra cosita, el flow no muere para cuando el viewModelScope muere. Simplemente se deja de colectar. Supongamos que tienes una instancia Singleton de tu Repository que tiene como propiedad un flow. Esa propiedad la consumes en dos viewModels distintos en sus respectivos fragmentos. Ambos fragmentos los atachas a una actividad y puedes ver cómo consumen el mismo flow porque el repo es la misma instancia. Si remueves un fragmento, entonces su viewModel muere, pero el flow no, ya que el otro fragmento sigue emitiendo valores desde donde se quedó.
@leonelp9593
@leonelp9593 Жыл бұрын
muy interesante ese aporte!
@rodrigoseverianogarcia6059
@rodrigoseverianogarcia6059 Жыл бұрын
Entonces tengo una duda. ¿Cuál sería la manera correcta de detener el flow?
@calixtoandrade996
@calixtoandrade996 Жыл бұрын
Para un flow simplemente es que no tenga ningún tipo de collector. Recordemos que un flow es un cold flow. Es decir, éste va emitir valores siempre y cuando exista al menos un collector activo. Por ejemplo, si tienes una activity que collecta un flow, navegas a otra actividad y quitas la anterior haciendo un finish, el flow se deja de collectar y por tanto, por más el repository quiera emitir nuevos valores porque se está modificando, por ejemplo, la base de datos, no lo va hacer. Cosa que es no lo mismo para un SharedFlow o StateFlow, ya que éstos son hot flows @@rodrigoseverianogarcia6059
@agullojorge
@agullojorge Жыл бұрын
Porqué no he visto antes este TREMENDO video!!!!! Gracias!!!🙌🙌🙌🙌
@DanielTorres404
@DanielTorres404 Жыл бұрын
Buenísimo, Aris. Este tema da mucho tema pero lo explicas de maravilla.
@kushiromorales7122
@kushiromorales7122 Жыл бұрын
Te amo weon gracias por tus videos me ayudan muchisimo a aprender ❤
@janderlaffitaordunez3126
@janderlaffitaordunez3126 Жыл бұрын
Siempre encuentras la mejor manera de explicar las cosas, eres un crack
@martin.88
@martin.88 Жыл бұрын
Aris,. Gracias x el video. este contenido vendría de 10 para agregar en el curso de udemy..!
@albertopillado6890
@albertopillado6890 7 ай бұрын
Videardo guapo para repasar conceptos! Gracias como siempre Aris, eres un jefe!
@juanmanueljuarezperez9236
@juanmanueljuarezperez9236 Жыл бұрын
Muchas gracias! Esté contenido es de lo mejor.
@angelhdz6554
@angelhdz6554 Жыл бұрын
El uso de flow puede servir como un listening a un servicio web, por ejemplo que cada cierto tiempo, mi app verifica la sesion a un servicio web si sigue activa o a caducado, en dado caso de que caduque hacer una accion y si sigue activa que se mantenga logueado el usuario
@omarguevara536
@omarguevara536 Жыл бұрын
Gracias por tu talento de explicar, y por compartir con los demas ❤
@juanalbertosulbaranoropeza8972
@juanalbertosulbaranoropeza8972 Жыл бұрын
sos una estrella nunca dejes de brillar
@rafaelbarbeytotorrellas3580
@rafaelbarbeytotorrellas3580 Жыл бұрын
pedazo de crack!! Muchas gracias por hacer fácil lo complicado!!
@pablodavidflorezjaramillo2658
@pablodavidflorezjaramillo2658 Жыл бұрын
Excelente tutorial hermano, muchas gracias.
@surflaweb
@surflaweb Жыл бұрын
Bien claro. El ultimo video haslo consumiendo un api. 🎉🎉🎉
@alejandrosanabria1048
@alejandrosanabria1048 Жыл бұрын
se engancha automagicamente ajjaja que maestro! xD
@n7zeha993
@n7zeha993 Жыл бұрын
Aprendí mucho con este video gracias, seria genial si hicieras test del viewmodel manejando como respuesta las clases selladas, ya que al menos en mi caso no puedo burlar las clases selladas simulando los casos Succes o Error.
@salvadorcano553
@salvadorcano553 10 ай бұрын
Quería hacer una aplicación en la que necesito tipo 3 en raya, ajedrez, me apaño para hacer las columnas y las celdas en jetpack compose, para pintarles imágenes de figuras o fichas, pero no sé como ponerles un id a cada celda, establecer una matriz para y en funcion de la que pulses hacer una cosa u otra, es algo práctico que se sale a lo mejor de tu trazado de contenido, pero te agradecería si consideraras hacer algo parecido, para enseñar las bases, gracias. He pensado en hacer una clase que se le de un id y cree un Box para cada casilla, pero se me atasca un poquito.
@SHURA_RC
@SHURA_RC Жыл бұрын
Aris porque no usas datasource
@estefania7975
@estefania7975 Жыл бұрын
Primeraaa! Gracias por el video Aris ❤
@MiguelFlecha
@MiguelFlecha Жыл бұрын
Qué fácil suena todo cuando lo explicas tú
@gustavomoreno8390
@gustavomoreno8390 Жыл бұрын
La razón de que no cargue la función example() desde init es que el view model no se inicia cuando se declara. Llamando a una función sin nada dentro, por ejemplo initializeFirstBlood(),el init sería ejecutado
@RaymundoFernandoMontesdeocaLun
@RaymundoFernandoMontesdeocaLun Жыл бұрын
HEY ARI Que tan bueno es usar Flutter?
@danieliopx3374
@danieliopx3374 Жыл бұрын
puedes hacerlo en jetpack compose 😢
@DevsSebas
@DevsSebas Жыл бұрын
Me estás diciendo que puedo resolver lo de recibir.. Por ejemplo, Datos desde un microservicio?? 😱😱😱No me arrepiento de haberme subscrito.. Toma broth.. Ahí tienes tomo mi dinero 💸💸💸💸💸
@RealformStudioXR
@RealformStudioXR 7 ай бұрын
Aris el problema del Init, es por que la intancia del viewmodel aun no esta lista, si inicializas una copia del viewmodel entonces ya tienes a dispocicion init
@aliciabeltran
@aliciabeltran 11 ай бұрын
Tengo entendido que en caso de UiState este debo collectarlo en mi Ui con un collectLatest{} ya que no quiero mostrar estados que ya pasaron
@AristiDevs
@AristiDevs 11 ай бұрын
Dependiendo de tus casos de uso
@leonelp9593
@leonelp9593 Жыл бұрын
explicastes lo que es el Flow Como si fuesemos retrasados Me gusta, asi deberian ser todos los Tutoriales xDDD
@pirrimori6
@pirrimori6 Жыл бұрын
Muchas gracias aristidev, aprendo mucho con tus videos, eres un fenomeno. Tengo un problema y no se como solucionarlo en mi aplicacion, cojo los datos desde firebase realtime y cuando cambian los meto en room que me actualiza la vista mediante flow, pero si hay muchos cambios se vuelve loco el recyclerview. Puedo hacer algo para que actualice el recycler sin que se note tanto? Es en androidtv y molesta mucho la verdad. Gracias
@jmorasot
@jmorasot Жыл бұрын
Con DiffCallback quizá pueda ayudar un poco las operaciones que se hacen sobre el recycler
@felipegarces5007
@felipegarces5007 Жыл бұрын
Gracias justo andaba buscando esto
@dmorales8027
@dmorales8027 Жыл бұрын
Yo compré el de udemy. Pero entiendo es el mismo de codeacademy correcto?...
@edgarn.sr19
@edgarn.sr19 Жыл бұрын
Qué ventajas o desventejas podría tener flow sobre usar RxJava/RxKotlin? viendo el video me imagino algunas pero me gustaría tu opinión
@janderlaffitaordunez3126
@janderlaffitaordunez3126 Жыл бұрын
Bueno para mí lo fundamental es que cuentas con un recurso propio del lenguaje, así te evitas el uso de librerías externas
@calixtoandrade996
@calixtoandrade996 Жыл бұрын
la ventaja de flow son sus maravillosas funciones de extensión. Puedes hacer una buena cantidad de operaciones dentro del flow e incluso combinar varios flows en uno sólo.
@edgarn.sr19
@edgarn.sr19 Жыл бұрын
@@janderlaffitaordunez3126 Ese es un buen punto, gracias por tu comentario
@edgarn.sr19
@edgarn.sr19 Жыл бұрын
@@calixtoandrade996 Eso mismo también se puede hacer con Rx pero lo que desconozco es la variedad de distintas operaciones que existe entre Flow y Rx. Gracias por tu comentario
@MYYOTUBEDE1981
@MYYOTUBEDE1981 Жыл бұрын
Excelente video Aris
@manuelrodriguez3628
@manuelrodriguez3628 Жыл бұрын
Buenas! buen vídeo como siempre. Una pregunta: no me deja entrar al Discord. "No se puede aceptar la invitación". A alguno le ha pasado lo mismo ?
@aliciabeltran
@aliciabeltran 11 ай бұрын
Saludos, cuando estas para saber cuando el uiState debe ser igual a _uiState y cuando a _uiState.AsStateFlow()
@AntliaRodriguez-d9t
@AntliaRodriguez-d9t 2 ай бұрын
Cuando un video de un juego de cartas? :)
@EchaleQ
@EchaleQ Жыл бұрын
Ojalá hubiera visto este video antes de pelearme durante días con ellos hasta entenderlos jajaja. Me resulta curioso que digas que no has conseguido iniciarlos en el init() del ViewModel, cuando yo en mi app si los inicio ahí.
@diegomedinapadilla2400
@diegomedinapadilla2400 Жыл бұрын
No le funciona porque al inicio del vídeo cuando pone el flow en el init no está ocupando el viewModel en el activity solo lo declaro, si lo hiciera al final del vídeo y pusiera el ejemplo dentro del init, para obtener lo del repo, ya serviría porque el activity ya ocupa el viewModel al recolectar lo que tiene el stateFlow
@cesarrogelioceronvargas951
@cesarrogelioceronvargas951 6 ай бұрын
La mejor explicacion muchas gracias
@mibarcita3223
@mibarcita3223 Жыл бұрын
DEBERIAS HACER UN VIDEO HABLANDO DE ADMOB, PORQUE ES CONFUSO AHORA COMO SE MONETIZA, NO SE ENTIENDE
@dmorales8027
@dmorales8027 Жыл бұрын
El puto amo.
@alfonzoruiz7705
@alfonzoruiz7705 Жыл бұрын
Ya no expliques en formato xml utiliza jetpack please que para halla es q vamos el futuro
@calixtoandrade996
@calixtoandrade996 Жыл бұрын
yo creo que es irrelevante el framework de vista. En este video se habla de los flows y arquitecturas. Si estás más interesado en Compose, en Udemy Aris tiene un buen curso sobre eso
@mamcodes3041
@mamcodes3041 Жыл бұрын
@@calixtoandrade996 cuanta razón!!
@managersoft4512
@managersoft4512 Жыл бұрын
muy capo
@luchoquiru2776
@luchoquiru2776 Жыл бұрын
excelente
@renzoromanank1657
@renzoromanank1657 Жыл бұрын
Genio
@MxChrisRMx
@MxChrisRMx Жыл бұрын
pero no me veas directo a los ojos porfavor 👉👈
Domina las CORRUTINAS - Corrutinas para ANDROID con KOTLIN [TUTORIAL]
20:40
Programación Android by AristiDevs
Рет қаралды 19 М.
NAVIGATION COMPONENT - Navega en Android de forma eficiente - Activity - Fragment - Save args
33:04
Programación Android by AristiDevs
Рет қаралды 24 М.
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
How to treat Acne💉
00:31
ISSEI / いっせい
Рет қаралды 108 МЛН
Гениальное изобретение из обычного стаканчика!
00:31
Лютая физика | Олимпиадная физика
Рет қаралды 4,8 МЛН
Guía Completa de Kotlin Flows: Flows, StateFlows y SharedFlows
36:22
Martin Kiperszmid | Programador
Рет қаралды 1,9 М.
Ver datos - Realtime Database
27:41
Cristofher Rojas
Рет қаралды 123
DiffUtil para tu RECYCLERVIEW en Kotlin - Optimiza tus recyclerview en Android con Kotlin.
26:57
Programación Android by AristiDevs
Рет қаралды 10 М.
Dagger HILT en KOTLIN con MVVM 💉 - Tutorial android inyección de dependencias con Dagger Hilt
26:01
Proguard y R8 - Ofusca y optimiza tus apps
19:17
Programación Android by AristiDevs
Рет қаралды 8 М.
View Binding - 🔄 CONECTA VISTAS en Android con Kotlin - Tutorial Android Studio en español
13:43
Programación Android by AristiDevs
Рет қаралды 47 М.
MVVM con JETPACK COMPOSE desde CERO - TUTORIAL - Ejemplo Login con arquitectura MVVM en Android
38:51
TESTING en ANDROID con KOTLIN desde Cero - [Test unitarios en Android Studio] - Pruebas unitarias
38:47
ROOM en Android con KOTLIN (Base de datos) 💾 - Tutorial Android Studio con MVVM (Hilt y corrutinas)
30:55
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН