Gracias Aris por este grandioso tema, el cual me interesaba bastante que alguien lo explicara también como tu lo haces. Yo quise implementar un buscador, pero me dio un error de que se repetían los personajes, y tuve que aplicar una lógica diferente en el prev y next del data source, pero en si no lo hubiese entendido y logrado si no fuera por este tutorial. Agradecido por que compartas este conocimiento a nosotros.
Buenas Aris! Me parece genial este formato de pequenios proyectos completos. Va genial para hacerse una idea global del proyecto de principio a fin. Son el complemento perfecto para tu curso de Compose y para los que ya vamos un poquito mas avanzados. Muchas gracias.
Un máster! Super creo q los Estados se pueden manejar de otra forma. Esta genial pero esta no sería una guía definitiva le faltaría remote Mediator con room para ser completa, y se pone más complejo si incluye un buscador. Hace poco saqué una reléase en mi trabajo con esto fue todo un reto hacerlo el próximo lunes va una feature con remote Mediator y es una genialidad. Gracias de pana por el contenido.
Madres que bueno que di contigo, la vdd vengo de ver tutoriales de gente "famosa" que la neta da weba, tu muy bien me encanto el nivel y eso que no he tocado kotlin, vengo de flutter, pero vamos a ver kotlin. xD
Eres lo maximo! continua asi, yo estaba viendo la libreria y esta muy buena lo que si me cuesta es hacer el search no se si filtrar los elemendos del recicler o mandar a solicitar el listado desde la base de datos, tengo como 10 mil elementos no se si es un abuso hacer la consulta todo el tiempo. podrias hacer un video explicando como se trabaja en la vida real en esos casos?
Hola! Lo primero enhorabuena por el video esta super claro todo y encima se hace super dinámico! Yo tenía un par de dudas y serían: 1. Si necesito pasar parámetros desde el viewmodel, ¿cómo se los podría pasar? 2. Si necesitara pasar aparte del listado de personajes como respuesta, quisiera pasar el count o cualquier otro parámetro que no esté incluido en el listado, ¿cómo lo harías? Gracias!!
Aris, como todos tus videos, este es la hostia, se entiende a la perfección y el contenido es excelente. No obstante hay una cosa que me está ocurriendo y no sé donde puedo haberlo hecho mal, porque me he repasado el video 3 veces y no encuentro la diferencia, por si supieras que puede ser. Va perfecto pero, se trae las dos primeras páginas, ya que los primeros 20 personajes van bien, pero cuando debería traerse la 3a es como que vuelven a empezar desde la 0 y luego ya va bien todo hasta la última, pero no sé porque puede estar haciendome esto :( Si alguien puede saber por qué es, porfi, díganme :D
@@AristiDevs Ya lo he arreglado, creo que es poque para la api la pagina 0 y la página 1 se trae la misma información, por lo que si cambias cuando configuras el PagingSource: val prevKey = if (page > 0) page - 1 else null por: val prevKey = if (page > 1) page - 1 else null Ya va perfect :D Gracias de nuevo Aris!
Hola Aris, te felicito por el video, gran trabajo. Yo pediria un video sobre "lib.version Catalog", por que me he vuelto chino intentado meter "Dagger Hilt". Podrias hacer uno cortito colocando las librerias mas utilizadas, Room, Retrofit, Dagger, con las versiones para poder trabajar todos juntos. Gracias majo.
21:16 a que te refieres con lo de que recomiendas poner siempre la etiqueta porque te puedes cargar las respuestas si no lo tienes en el fichero de ignorar? Por que pasaria eso?
Se refiere al ofuscar el código cuando generar una app firmada, al hacer eso proguard cambia los nombres de clases, funciones y variables y entonces sino tienes el serializedName pues se va a romper la app
Tengo una duda, al igual que usar paging al capturar valores de una API online es súper importante, casi que obligatorio, por temas de rendimiento, al usar una base de datos como ROOM en local es necesario? Porque estoy haciendo una app con una base de datos que potencialmente puede llegar a almacenar mas de medio millón de elementos y no se si la ventaja de rendimiento es suficiente teniendo en cuenta que ya uso una LazyColumn y para la integración en mi app debo tocar mucho código. Por cierto, gracias por el tutorial hacia falta un video en español así largo explicando a fondo todo el funcionamiento y dudas que pudieran quedar jajajajj
Hola! Excelente video 😃 Aris estoy implementando paginación en una app, pero el body de mi petición puede cambiar porque tengo filtros que en cualquier momento pueden modificarse. Cómo puedo modificar la petición y hacer que la paginación se reinicie? Espero que puedas ayudarme, ya que no he encontrado una respuesta definitiva y menos para compose.
Por favor avisar al actualizar tu curso de compose. Yo lo compré en udemy espero que llegue la actualización a esa plataforma sino igual estoy atento para comprar en appademy. Los videos así en donde vas más rápido son mejores en donde uno repasa todo de golpe y aprende algo adicional
Un tema que no se toca mucho en RUclips. Excelente trabajo
Excelente, megustaria una segunda parte donde navegas al detail de forma correcta claro, gracias sos un Master
Me encantan estos tutoriales avanzados, proporciona mejores herramientas, y en el discord basta con preguntar que alguien ayuda. Gracias Aris ❤
respondiendo al 14:07 a mi me parece fantastico, porque aveces solo quiero recordar cosas y con solo verlo así rapido ya esta
Con respecto al minuto 14:18 , este formato de tutorial esta buenísimo, rápido y concienzudo.
Son el tipo de tutoriales que me gusta seguir, ya que son los avanzados y la mayoría de veces, los que se requiere en un entorno profesional.
De los mejores creadores de contenido sobre desarrollo Android, gracias parce
Gracias Aris por este grandioso tema, el cual me interesaba bastante que alguien lo explicara también como tu lo haces. Yo quise implementar un buscador, pero me dio un error de que se repetían los personajes, y tuve que aplicar una lógica diferente en el prev y next del data source, pero en si no lo hubiese entendido y logrado si no fuera por este tutorial. Agradecido por que compartas este conocimiento a nosotros.
Buenas Aris! Me parece genial este formato de pequenios proyectos completos. Va genial para hacerse una idea global del proyecto de principio a fin. Son el complemento perfecto para tu curso de Compose y para los que ya vamos un poquito mas avanzados.
Muchas gracias.
Eaaaaa Buenas Aris , muchas gracias por el video 🫂
Buena Ariss!! excelente video, agradezco el contexto de todo y repaces las clases anteriores, super completo ! sigue asi hermano.
Como siempre... ¡excelente vídeo Aris! El formato me parece genial para los perfiles que vamos más avanzados. ¡Gracias!
Buena aris , justamente estaba buscando algo de paging y boom apareces con un video 😎
Maravillado de la calidad de tu contenido. Grande Aris 🙌🏼
Gracias por este tutorial. Un tema más profundo que los habituales y que es necesario en muchas ocasiones.
Si Aris personalmente creo que aveces ir a saco es mucho mejor y como lo estas haciendo y lo haces y super la verdad gracias Aris.... 📌📌
me encantan estos tutoriales, no tan basicos que para eso tenemos la documentacion jaja
Verdaderamente mi creador Android favorito 🎉 Excelente contenido Aris 🤝🏻
Un máster! Super creo q los Estados se pueden manejar de otra forma. Esta genial pero esta no sería una guía definitiva le faltaría remote Mediator con room para ser completa, y se pone más complejo si incluye un buscador. Hace poco saqué una reléase en mi trabajo con esto fue todo un reto hacerlo el próximo lunes va una feature con remote Mediator y es una genialidad. Gracias de pana por el contenido.
Sobre todo el loading.append ..pero ya es cosa de agregar nada más
Buen vídeo Ari, siempre trayendo contenido de calidad!!
Videazo tío, gracias!
Madres que bueno que di contigo, la vdd vengo de ver tutoriales de gente "famosa" que la neta da weba, tu muy bien me encanto el nivel y eso que no he tocado kotlin, vengo de flutter, pero vamos a ver kotlin. xD
Que buen video, muy bien explicado muchas gracias Aris
Eres lo maximo! continua asi, yo estaba viendo la libreria y esta muy buena lo que si me cuesta es hacer el search no se si filtrar los elemendos del recicler o mandar a solicitar el listado desde la base de datos, tengo como 10 mil elementos no se si es un abuso hacer la consulta todo el tiempo. podrias hacer un video explicando como se trabaja en la vida real en esos casos?
Hola! Lo primero enhorabuena por el video esta super claro todo y encima se hace super dinámico! Yo tenía un par de dudas y serían:
1. Si necesito pasar parámetros desde el viewmodel, ¿cómo se los podría pasar?
2. Si necesitara pasar aparte del listado de personajes como respuesta, quisiera pasar el count o cualquier otro parámetro que no esté incluido en el listado, ¿cómo lo harías?
Gracias!!
Muy bueno Aris!
saludossss arisss!!
¡¡¡Muchas gracias chaval!!! :)
Buenas! Muchas gracias por los tutoriales!
Tuve algunos problemas de compilación al utilizar kapt, pero lo pude solucionar reemplazándolo por KSP:
libs.versions.toml:
hilt = "2.51.1"
hiltNavigationCompose = "1.2.0"
ksp = "1.9.0-1.0.13"
build.gradle.kts (Proyecto):
plugins {
alias(libs.plugins.hiltAndroid) apply false
alias(libs.plugins.kotlinAndroidKsp) apply false
}
build.gradle.kts (App):
plugins {
alias(libs.plugins.kotlinAndroidKsp)
alias(libs.plugins.hiltAndroid)
}
dependencies {
implementation(libs.hilt.android)
implementation(libs.hilt.navigation)
ksp(libs.hilt.compiler)
}
Justo lo que estaba buscando 😮😊
Aris, como todos tus videos, este es la hostia, se entiende a la perfección y el contenido es excelente. No obstante hay una cosa que me está ocurriendo y no sé donde puedo haberlo hecho mal, porque me he repasado el video 3 veces y no encuentro la diferencia, por si supieras que puede ser.
Va perfecto pero, se trae las dos primeras páginas, ya que los primeros 20 personajes van bien, pero cuando debería traerse la 3a es como que vuelven a empezar desde la 0 y luego ya va bien todo hasta la última, pero no sé porque puede estar haciendome esto :(
Si alguien puede saber por qué es, porfi, díganme :D
Puede ser el API que esté mal? Has probado con otra?
@@AristiDevs Ya lo he arreglado, creo que es poque para la api la pagina 0 y la página 1 se trae la misma información, por lo que si cambias cuando configuras el PagingSource:
val prevKey = if (page > 0) page - 1 else null
por:
val prevKey = if (page > 1) page - 1 else null
Ya va perfect :D Gracias de nuevo Aris!
Excelente 🎉
Hola Aris, te felicito por el video, gran trabajo. Yo pediria un video sobre "lib.version Catalog", por que me he vuelto chino intentado meter "Dagger Hilt". Podrias hacer uno cortito colocando las librerias mas utilizadas, Room, Retrofit, Dagger, con las versiones para poder trabajar todos juntos. Gracias majo.
Hola Aris, como le agregarías ROOM a este proyecto , gracias excelente video.
21:16 a que te refieres con lo de que recomiendas poner siempre la etiqueta porque te puedes cargar las respuestas si no lo tienes en el fichero de ignorar? Por que pasaria eso?
Se refiere al ofuscar el código cuando generar una app firmada, al hacer eso proguard cambia los nombres de clases, funciones y variables y entonces sino tienes el serializedName pues se va a romper la app
Tengo una duda, al igual que usar paging al capturar valores de una API online es súper importante, casi que obligatorio, por temas de rendimiento, al usar una base de datos como ROOM en local es necesario? Porque estoy haciendo una app con una base de datos que potencialmente puede llegar a almacenar mas de medio millón de elementos y no se si la ventaja de rendimiento es suficiente teniendo en cuenta que ya uso una LazyColumn y para la integración en mi app debo tocar mucho código.
Por cierto, gracias por el tutorial hacia falta un video en español así largo explicando a fondo todo el funcionamiento y dudas que pudieran quedar jajajajj
Hola! Excelente video 😃
Aris estoy implementando paginación en una app, pero el body de mi petición puede cambiar porque tengo filtros que en cualquier momento pueden modificarse.
Cómo puedo modificar la petición y hacer que la paginación se reinicie?
Espero que puedas ayudarme, ya que no he encontrado una respuesta definitiva y menos para compose.
A ti tambien te salio algo de actualizar el sdk en tus app android? Informanos de como solucionar ese correo si usamos admob
Por favor avisar al actualizar tu curso de compose. Yo lo compré en udemy espero que llegue la actualización a esa plataforma sino igual estoy atento para comprar en appademy.
Los videos así en donde vas más rápido son mejores en donde uno repasa todo de golpe y aprende algo adicional
Tranqui que lo actualizaré en todas partes, no te voy a hacer que lo tengas que comprar ni mucho menos!
@@AristiDevs asu que fino mi loco
éxitos en todo!
@@AristiDevs puedes hacer un video hablando de Fastlane para la publicación automática de apps a la play store?
🔥🔥
Se puede usar paging con el datebase de Firebase?
Sip
Que tal Aris, un ejemplo de esto implementado para KMP, usando Room, Ktor, Paging? Claro usando un remoteMediator
Sip
Excelente vídeo hermano. Una pregunta ¿Se puede usar Paging3 en KMP? Saludos.
Sip
Aris, y se puede modificar los items del listado paginado, como por ejemplo agregarle un like cuando le de click a un personaje de Rick y Morty?
Sip
@@AristiDevs Crack, Master, Eres el mejor!!! Video por fa 🎉🎉🎉
Maestro necesito un tutorial de Dagger Hilt para jetpack compose, por favor🙏
muy buen video esto funcionaria tambien con KMP
Al 99%
¡Gracias! ¿Hipotéticamente se podría hacer con MVI?
Claro
Todos los videos de paging son larguísimos
Hoy averiguaré si de verdad es tan complejo :$
Meter librerías normales si fue bastante easy de entender, pero las librerías que utilizan el kapt si que me costó bastante entender cómo funcionaba…