🖥 HOSTINGER | Crea tu WEB personal con dominio personalizado y hosting de calidad y a bajo coste: • hostinger.com/mouredev (Cupón descuento -7% "MOUREDEV") 🔗 Redes y enlaces de interés | moure.dev 👾 Discord | mouredev.com/discord
Un gran vídeo; muy útil. Para futuros vídeos: el zoom hace dificil seguir el tutorial, ya que se corta la pantalla y no siempre se está seguro de cómo continúa la línea de código.
muy interesante, enhorabuena. Me encantaría que hubiese mas videos. Por ejemplo usando otros componentes, o incorporando controles de acceso, o geolocalización
Muy buenos tutoriales, muchas gracias. Critica constructiva, cuando estes codeando fijate que si se este viendo lo que copias, muchas veces solo se ve un poquito, lo de mas toca imaginarselo segun lo que estes diciendo. Ejemplo 11:35, entre muchos
Buen video Moure!! Estaria chulo que hicieras un video explicando si alguna de tus apps ha conseguido monetizar, vi el video de como monetizar apps y es brutal! Saludos desde Canarias
Minuto 5:50. Bueno ya que nadie me respondió, lo tuve que averiguar por mi cuenta. Cuando declara los objects (singleton class) no les está declarando el tipo AppScreens como comenta en el video (acaso alguién vio alguna vez una declaracion de un tipo con los parentesis, ejem :String() ). Lo que en realidad está haciendo es heredando de la clase AppScreens y pasando entre los parentesis el argumento para la propiedad declarada en el constructor de AppScreens.
Buenas, increíbles tus tutoriales, claros, concisos y al grano. Me surge una duda, en el caso de querer pasar un objeto entero, como se haría de forma adecuada?
Me estás ayudando un montón con mis exámenes. Estoy estudiando Desarrollo de Aplicaciones Multiplataforma y se me estaba complicando un motón la asignatura de móviles. Mil gracias por los videos ❤. Por cierto, ¿alguien sabe el tema de fondo que está usando? Me gusta un montón porque es el único que no me da dolor de cabeza...Si alguien sabe, le estaría super agradecida💕
Videos claros y concisos como siempre Brais!. Ando buscando un video donde se explique de la forma más sencilla posible el concepto y uso de MVVM con JetpackCompose. Los que vi hasta ahora se lían mucho mezclando usos como Retrofit, Rom, etc. Si tienes algo así en tu canal me avisas.
Un dato, si no les reconoce el implementation en el build.gradle (module) tienen que sincronizar el file al terminar de escribir, es una opcion que aparece en una barrita en la parte superior del editor. Estuve un buen rato discutiendo con el Android Strudio por no verla jaja😆
Saludos, muy interesante video, ahora ya se como navegar entre pantallas. Siguiendo el ejemplo logre que funcionara bien, pero al hacer click repetidas veces en ambos botones la pantalla queda en blanco despues de muchos clicks. Saludos y gracias por estos tutoriales.
Saludos desde Peru! Me gusto mucho este Video Mouredev, podrias en algun momento hacer un video complementario en el cual podrias mencionar si se puede si se puede navegar entre AppCompatActivity y un ComposeActivity por favor?
Excelente manera de explicar Jet. Compose!!, mil gracias. Por favor tu ayuda, cuando tienes varios BasicTexfield llenos con informacion, y quieres que al hacer focus a esos campos el cursor SELECCIONE TODO el contenido al poner en focus cada BasicTextfield ? (de tal manera que al escribir se reemplaze todo el contenido previo). Como hacerlo?
Video vigente a Diciembre 2022 , lo hice funcionar con la versión Android Studio Dolphin | 2021.3.1 Patch 1 ... para la Navegación en el archivo build.gradle (modulo) agregué implementation("androidx.navigation:navigation-compose:2.5.3" ) ...Version Android Lollipop
use esa implementacion [mplementation("androidx.navigation:navigation-compose:2.5.3" ) ...Version Android Lollipop] pero me pide el parametro builder estoy atascado "NavHost(navController = , startDestination = , builder = )"
Los videos están muy bien, pero el zoom es muy molesto para seguir las lecciones y algunas "acciones" son mencionadas de pasada sin indicar como hacerlas.
Muy bien video, pero se haría para pasar una lista mutable de una data class? en los videos que encuentro siempre pasan un dato tipo String y no otro tipo de datos, muchas gracias de antemano.
Cuando agregas la dependencia dice que hay que recomponer el proyecto, pero no dices como... tuve que investigar y era tan sencillo que oprimir un boton de Sync Now, seria bueno lo indiques para los demás que están aprendiendo .
Excelente video, está muy bien explicado. Me gustaría saber cómo puedo pasar objetos? Y si puedes grabar y subir videos de cómo utilizar la API de google mapa con jectpatck componese sería genial @MoureDev
Hola Moure, tengo una duda, cuando entro a la documentación del componente Navigation se implementa una forma diferente de navegación, una implementación que consta con un gráfico de navegación (con xml), un NavHost y un navController. ¿Simplemente son 2 formas distintas de hacer lo mismo o una es más recomendable que la otra hoy en día? Desde ya gracias por tus cursos, son de muchisima ayuda
Un comentario mas para solicitar de favor master que el zoom no sea tan cerca pues se pierde el código y llega a ser incomprensible la continuidad del desarrollo.
¡Buenas Brais! Video muy explicativo. Queda claro cómo pasar parámetros como boolean, strings, ints, etc entre diversas pantallas de navegación, sin embargo he buscado información cómo pasar objetos entre las diferentes pantallas pero no encuentro nada. ¿Sabes de algún recurso que pueda consultar para solventar mi problema? Gracias de antemano, un saludo
Buen video! En esta ocasión para que funcione el Scaffold tengo que decirle que es experimental, de la siguiente manera: @OptIn(ExperimentalMaterial3Api::class) @SuppressLint("UnusedMaterial3ScaffoldPaddingParameter") @Composable fun FirstScreen(){ Scaffold() { BodyContent() } } no se si estoy haciendo los imports correctos.
Me pone un poco nervioso lo jodidamente rápido que van las explicaciones y los cambios de pantalla por el zoom gigantesco. Edit: Más veo el video, más nervioso me pone
2 meses luego de tu comentario, llevo mas de 3 horas intentando arreglar los errores pero no tengo ni idea de como hacerlo, si lo lograste agradeceria tu ayuda hermano
Buenos dias, cuando navego y comparto Objects entre la navegación, al volver atras el app se cierra, usando navController.currentBackStackEntry?.savedStateHandle, alguna forma o metodo para poder pasar objects entre vistas compose?
Minuto 5:50. Eso no me queda claro, pero entenderia entonces que un objeto (entiendo objetos singlenton) solo puede ser del tipo de una instancia de una clase, pero No de la clase misma. Eso no sabia. Alguien podria detallar algo más de eso.
Estoy tratando de encontrar la solución al tema del padding al usar Scaffold pero aun no encuentro solución. Alguien mas pudo resolver en versiones mas nuevas? Esto es lo que veo entre los log's "Content padding parameter it is not used" y hasta ahora todas las respuestas que veo no resuelven el problema. La versión de composer es 1.2^
Yo también estoy aprendiendo con el Curso de Google: Android Basics with Compose. Y tuve un problema con el paddingvalues, lo resolvi despues de mucho revisar y estudiar. El content() es un lambda que solo debe recibir ese parametro paddingValues, pero ese parametro es interno, lo entrega el mismo scaffold, solo tienes que nombrarlo, y usarlo. Que parte de tu código es la que lanza ese mensaje?
@@sanD-xq8nb hola, estoy con ese mismo problema del padding del Scaffold y no consigo dar con la solución en las lineas que puse "*" es donde marca el error "Content padding parameter it is not used" como hiciste para solucionarlo? Scaffold(topBar = { TopAppBar(title = { Text(text = "First Screen") } ) * }) { * BodyContent(navController) * }
@@dalecs4833 Entenderia que la funcion BodyContent(navController) es una funcion composable que has creado. Entonces en el ultimo bloque de llaves ponlo asi: { PaddingValues -> BodyContent(navController, PaddingValues) } O pasas un modifier como parametro y en el padding de modifier pasas el PaddingValues. Todo esto porque en la definicion del Scaffold el content recibe ese PaddingValues como parametro, asi: content: @Composable(PaddingValues) -> Unit Ojo que el content del Scaffold es lo encerrado entre llaves y no la funcion que creaste BodyContent.
Si te refieres a pulsar sobre una función y abrir su definición, en mi caso puedo hacerlo pulsando la tecla CONTROL y al pasar sobre una función aparece subrayada y al hacer clic se sitúa sobre la definición, aunque este en otro fichero Kotlin, en este caso AppNAvigation.kt
Hombre buena la explicación pero la edición es terrible, primero editas el video para quitar los vacíos entre frases que casi parece que tienes una prisa increíble, casi que toca bájarle la velocidad al vídeo, el exceso de zoom otro punto a mejorar.
Gracias por proponer mejoras en un vídeo de hace 2 años :) Hablas como si los vídeos del canal se hicieran expresamente para ti 🤣 Por cierto, tu ortografía es terrible.
use esa implementacion [mplementation("androidx.navigation:navigation-compose:2.5.3" ) ...Version Android Lollipop] pero me pide el parametro builder estoy atascado "NavHost(navController = , startDestination = , builder = )"
🖥 HOSTINGER | Crea tu WEB personal con dominio personalizado y hosting de calidad y a bajo coste:
• hostinger.com/mouredev (Cupón descuento -7% "MOUREDEV")
🔗 Redes y enlaces de interés | moure.dev
👾 Discord | mouredev.com/discord
ya estoy en el discord y en tus redes siempre te sigo porque tus videos me ayudan con mi carrera de ingenieria en software
Un gran vídeo; muy útil. Para futuros vídeos: el zoom hace dificil seguir el tutorial, ya que se corta la pantalla y no siempre se está seguro de cómo continúa la línea de código.
Moure a veces tanto zoom no me deja ver detalles del resto del código, un par de puntos menos y el video perfec. Gracias por los videos.
Hola Moure, seria bueno si compartes el codigo completo, al menos yo no pude seguir el ejemplo completo.
ya estoy en el discord y en tus redes siempre te sigo porque tus videos me ayudan con mi carrera de ingenieria en software
¡Mil gracias Moure por esta lista de vídeos!
Me ha encantado este video, muchas gracias, y ya comencé a picar.... siiiiiiuuuuuu!!!!!!!!
Video muy interesante, sobre todo cara al reto mensual y atreverme a probar jetpack compose. Muy amena la explicacion
Muchas gracias! Deseando ver el reto 💪
muy interesante, enhorabuena. Me encantaría que hubiese mas videos. Por ejemplo usando otros componentes, o incorporando controles de acceso, o geolocalización
Muy buenos tutoriales, muchas gracias.
Critica constructiva, cuando estes codeando fijate que si se este viendo lo que copias, muchas veces solo se ve un poquito, lo de mas toca imaginarselo segun lo que estes diciendo. Ejemplo 11:35, entre muchos
Buen video Moure!! Estaria chulo que hicieras un video explicando si alguna de tus apps ha conseguido monetizar, vi el video de como monetizar apps y es brutal! Saludos desde Canarias
Gracias! Me lo apunto
Minuto 5:50. Bueno ya que nadie me respondió, lo tuve que averiguar por mi cuenta. Cuando declara los objects (singleton class) no les está declarando el tipo AppScreens como comenta en el video (acaso alguién vio alguna vez una declaracion de un tipo con los parentesis, ejem :String() ). Lo que en realidad está haciendo es heredando de la clase AppScreens y pasando entre los parentesis el argumento para la propiedad declarada en el constructor de AppScreens.
Simplemente un mega super video, descomunal, Saludos
Eres increíble hermano, gracias por el contenido
Buenas, increíbles tus tutoriales, claros, concisos y al grano. Me surge una duda, en el caso de querer pasar un objeto entero, como se haría de forma adecuada?
Gran video gran, ahora falta verlo, gracias
Me estás ayudando un montón con mis exámenes. Estoy estudiando Desarrollo de Aplicaciones Multiplataforma y se me estaba complicando un motón la asignatura de móviles. Mil gracias por los videos ❤. Por cierto, ¿alguien sabe el tema de fondo que está usando? Me gusta un montón porque es el único que no me da dolor de cabeza...Si alguien sabe, le estaría super agradecida💕
Videos claros y concisos como siempre Brais!. Ando buscando un video donde se explique de la forma más sencilla posible el concepto y uso de MVVM con JetpackCompose. Los que vi hasta ahora se lían mucho mezclando usos como Retrofit, Rom, etc. Si tienes algo así en tu canal me avisas.
Muy buen video, justo estoy aprendiendo jetpack compose!
Muy buen video, vamos jetpack compose :D
Gracias!
Un dato, si no les reconoce el implementation en el build.gradle (module) tienen que sincronizar el file al terminar de escribir, es una opcion que aparece en una barrita en la parte superior del editor. Estuve un buen rato discutiendo con el Android Strudio por no verla jaja😆
gracias tambien estuve padeciendo con esa implementación, muchas gracias por el dato
muchas gracias!
excelente tutorial, lo q note es que si le haces repetidas veces al botón la app crashea
hasta otra heckerman!! saludos!
Saludos!
Buenisimo video!! Te hago una consulta hay alguna forma de no estar pasando la variable de navController a todas las pantallas?
Saludos, muy interesante video, ahora ya se como navegar entre pantallas. Siguiendo el ejemplo logre que funcionara bien, pero al hacer click repetidas veces en ambos botones la pantalla queda en blanco despues de muchos clicks. Saludos y gracias por estos tutoriales.
Saludos desde Peru! Me gusto mucho este Video Mouredev, podrias en algun momento hacer un video complementario en el cual podrias mencionar si se puede si se puede navegar entre AppCompatActivity y un ComposeActivity por favor?
Excelente manera de explicar Jet. Compose!!, mil gracias. Por favor tu ayuda, cuando tienes varios BasicTexfield llenos con informacion, y quieres que al hacer focus a esos campos el cursor SELECCIONE TODO el contenido al poner en focus cada BasicTextfield ? (de tal manera que al escribir se reemplaze todo el contenido previo). Como hacerlo?
Gran gran gran video. Muchísimas gracias.
Muchas gracias!
Grande, Brais!
Igual se podría poner un valor nulo por defecto a la segunda variable.
Claro! 💪 Abrazo!
algunas partes del video el código no se ve centrado, está esquinado y nos puede faltar contexto.
Gran video, muy bien explicado, gracias. Lo unico el exceso de zoom es algo molesto, se pierde mucho de lo que escribes.
Se parece bastante a la forma de enrutar de React no? Gracias por el video
Buen tutorial. Podrias hacer alguno con KMM + JetPackCompose ?
Muchas gracias Hackermen
hola hackermen gracias por el video
🙌
Video vigente a Diciembre 2022 , lo hice funcionar con la versión Android Studio Dolphin | 2021.3.1 Patch 1 ... para la Navegación en el archivo build.gradle (modulo) agregué implementation("androidx.navigation:navigation-compose:2.5.3" ) ...Version Android Lollipop
use esa implementacion [mplementation("androidx.navigation:navigation-compose:2.5.3" ) ...Version Android Lollipop] pero me pide el parametro builder estoy atascado "NavHost(navController = , startDestination = , builder = )"
Los videos están muy bien, pero el zoom es muy molesto para seguir las lecciones y algunas "acciones" son mencionadas de pasada sin indicar como hacerlas.
Muy bien video, pero se haría para pasar una lista mutable de una data class? en los videos que encuentro siempre pasan un dato tipo String y no otro tipo de datos, muchas gracias de antemano.
Cuando agregas la dependencia dice que hay que recomponer el proyecto, pero no dices como... tuve que investigar y era tan sencillo que oprimir un boton de Sync Now, seria bueno lo indiques para los demás que están aprendiendo .
Muy Bien! Gracias!
Buen video, siguen videos con mas recursos ?
Excelente video, está muy bien explicado. Me gustaría saber cómo puedo pasar objetos? Y si puedes grabar y subir videos de cómo utilizar la API de google mapa con jectpatck componese sería genial @MoureDev
Buenas. No me aparece el elemento NavHost
Hola Moure, tengo una duda, cuando entro a la documentación del componente Navigation se implementa una forma diferente de navegación, una implementación que consta con un gráfico de navegación (con xml), un NavHost y un navController.
¿Simplemente son 2 formas distintas de hacer lo mismo o una es más recomendable que la otra hoy en día?
Desde ya gracias por tus cursos, son de muchisima ayuda
@mouredev me cuentas más sobre ese mini teclado de copy/paste? Me parece una súper herramienta! Jajja
Se podía comprar en drop.com 😄
Hola @mouredev gracias, como haces para navegar con compose usando esta misma estrategia pero desde el viewModel?
HOLAA!! tengo una consulta, puedo crear una pantalla desde otra desde la aplicación? Por ejemplo: un botón que diga "crear nueva pantalla"
Un comentario mas para solicitar de favor master que el zoom no sea tan cerca pues se pierde el código y llega a ser incomprensible la continuidad del desarrollo.
¡Buenas Brais! Video muy explicativo. Queda claro cómo pasar parámetros como boolean, strings, ints, etc entre diversas pantallas de navegación, sin embargo he buscado información cómo pasar objetos entre las diferentes pantallas pero no encuentro nada. ¿Sabes de algún recurso que pueda consultar para solventar mi problema? Gracias de antemano, un saludo
Buen video! En esta ocasión para que funcione el Scaffold tengo que decirle que es experimental, de la siguiente manera:
@OptIn(ExperimentalMaterial3Api::class)
@SuppressLint("UnusedMaterial3ScaffoldPaddingParameter")
@Composable
fun FirstScreen(){
Scaffold() {
BodyContent()
}
}
no se si estoy haciendo los imports correctos.
Me pone un poco nervioso lo jodidamente rápido que van las explicaciones y los cambios de pantalla por el zoom gigantesco.
Edit: Más veo el video, más nervioso me pone
Si laguien más está haciendo este curso ¿Os salen errores en composable en AppNavigation? ¿Cómo solucionarlo?
2 meses luego de tu comentario, llevo mas de 3 horas intentando arreglar los errores pero no tengo ni idea de como hacerlo, si lo lograste agradeceria tu ayuda hermano
Buenos dias, cuando navego y comparto Objects entre la navegación, al volver atras el app se cierra, usando navController.currentBackStackEntry?.savedStateHandle, alguna forma o metodo para poder pasar objects entre vistas compose?
Por favor, podrías hacer un video de como hacer skins de kwgt desde Android studio 🙏
Cómo pasar un Text entre pantallas?
Minuto 5:50. Eso no me queda claro, pero entenderia entonces que un objeto (entiendo objetos singlenton) solo puede ser del tipo de una instancia de una clase, pero No de la clase misma. Eso no sabia. Alguien podria detallar algo más de eso.
Escondes mucho codigo y vas demasiado rapido
Esos Zooms son fastidiosos y no dejan ver nada
Rwtrofit funciona igual?
Es la capa de datos. Funciona igual.
@@mouredev gracias ❤️
@@mouredev tienes un videito de retrofit, no lo logro pillar bien
Muy bien, lo único que he tenido que verlo muy, muy despacio para poder ir haciéndolo a al vez,...
Estoy tratando de encontrar la solución al tema del padding al usar Scaffold pero aun no encuentro solución. Alguien mas pudo resolver en versiones mas nuevas?
Esto es lo que veo entre los log's "Content padding parameter it is not used" y hasta ahora todas las respuestas que veo no resuelven el problema.
La versión de composer es 1.2^
Yo también estoy aprendiendo con el Curso de Google: Android Basics with Compose. Y tuve un problema con el paddingvalues, lo resolvi despues de mucho revisar y estudiar. El content() es un lambda que solo debe recibir ese parametro paddingValues, pero ese parametro es interno, lo entrega el mismo scaffold, solo tienes que nombrarlo, y usarlo. Que parte de tu código es la que lanza ese mensaje?
@@sanD-xq8nb hola, estoy con ese mismo problema del padding del Scaffold y no consigo dar con la solución
en las lineas que puse "*" es donde marca el error "Content padding parameter it is not used"
como hiciste para solucionarlo?
Scaffold(topBar = {
TopAppBar(title = {
Text(text = "First Screen")
}
)
* }) {
* BodyContent(navController)
* }
@@dalecs4833 Entenderia que la funcion BodyContent(navController) es una funcion composable que has creado. Entonces en el ultimo bloque de llaves ponlo asi:
{ PaddingValues ->
BodyContent(navController, PaddingValues)
}
O pasas un modifier como parametro y en el padding de modifier pasas el PaddingValues.
Todo esto porque en la definicion del Scaffold el content recibe ese PaddingValues como parametro, asi:
content: @Composable(PaddingValues) -> Unit
Ojo que el content del Scaffold es lo encerrado entre llaves y no la funcion que creaste BodyContent.
👍👍👍
En el minuto 9:00 como puedo realizar eso? Alguien que me explique por favor.
Si te refieres a pulsar sobre una función y abrir su definición, en mi caso puedo hacerlo pulsando la tecla CONTROL y al pasar sobre una función aparece subrayada y al hacer clic se sitúa sobre la definición, aunque este en otro fichero Kotlin, en este caso AppNAvigation.kt
nice
Hombre buena la explicación pero la edición es terrible, primero editas el video para quitar los vacíos entre frases que casi parece que tienes una prisa increíble, casi que toca bájarle la velocidad al vídeo, el exceso de zoom otro punto a mejorar.
Gracias por proponer mejoras en un vídeo de hace 2 años :)
Hablas como si los vídeos del canal se hicieran expresamente para ti 🤣
Por cierto, tu ortografía es terrible.
Like
increible con tanto tiempo haciendo videos y no se puede hacer zoom correctamente, porque su explicacion de lo que pone es vagaaa :c
use esa implementacion [mplementation("androidx.navigation:navigation-compose:2.5.3" ) ...Version Android Lollipop] pero me pide el parametro builder estoy atascado "NavHost(navController = , startDestination = , builder = )"
Borra el parametro builder y abre las llaves, ya no te lo pedirá mas