Introducción a Jetpack Compose

1

Creación de una To-do App con Jetpack Compose en Android

2

Clonación y Configuración de Proyectos Kotlin en Android Studio

Personalización de la UI con Material Design

3

Diseño de Temas con Material 3 en Android

4

Creación de UI con Jetpack Compose: Fichas y Modificaciones

5

Optimizando Composables para Minimizar la Recompostura en Compose

Quiz: Personalización de la UI con Material Design

Composición de layouts en Jetpack Compose

6

Modelado de Tareas y Lógica en Kotlin: CRUD y Arquitectura Limpia

7

Uso de Column y Row en Composables en Jetpack Compose

8

Diseño de interfaces avanzadas con Jetpack Compose

9

Creación de Gráficas de Progreso en Aplicaciones Móviles

10

Eventos y Acciones en View Model de Android

11

Desarrollo de modelos ViewModel en Android

Quiz: Composición de layouts en Jetpack Compose

Construcción de funcionalidades

12

Formulario de Tareas con Kotlin: Creación y Estado

13

Creación de ViewModels para Pantallas de Tareas en Android

Quiz: Construcción de funcionalidades

Navegación en Jetpack Compose

14

Navegación Avanzada en Android con Nav Host y Nav Controller

15

Edición de Tareas con Navegación en Aplicaciones Android

Quiz: Navegación en Jetpack Compose

Creación de Bases de datos y dependencias

16

Persistencia de Datos con Room en Android

17

Inyección de dependencias en Android con HILT

Quiz: Creación de Bases de datos y dependencias

Finalización de la app

18

Ajustes Finales de UI en Proyectos Android

19

Creación de apps móviles con Jetpack Compose desde cero

Curso de Jetpack Compose en Android

Curso de Jetpack Compose en Android

Amazon Web Services (AWS)

Amazon Web Services (AWS)

Clonación y Configuración de Proyectos Kotlin en Android Studio

2/19
Recursos
Transcripción

¿Cómo clonar un repositorio para Android Studio?

Para comenzar el desarrollo de tu aplicación Android de manera eficiente, es fundamental que prepares tu entorno de trabajo correctamente. Aquí te explicaré paso a paso cómo clonar un repositorio ya configurado para empezar a trabajar en Android Studio.

Primero, asegúrate de tener acceso al enlace del repositorio que se encuentra en la sección de recursos del curso. Desde allí, copia la URL del código y utiliza la terminal o cualquier otra herramienta que prefieras para clonar el repositorio en tu sistema.

git clone

Una vez clonado, abre Android Studio, selecciona "Open" y localiza la carpeta del proyecto. Tras abrirla, Gradle reconocerá el proyecto y, una vez completado, podrás ver la estructura de carpetas en el panel izquierdo.

¿Cómo actualizar tus librerías de Kotlin y Compose?

Cuando trabajas en un proyecto de Android, es crucial mantener tus librerías actualizadas para evitar problemas de compatibilidad. A continuación, te guiaré en la actualización de Kotlin y Compose en tu proyecto clonado.

Actualización de Kotlin y KSP

  1. Accede al archivo libs.versions.toml, que contiene las versiones de las librerías configuradas.
  2. Cambia la versión de Kotlin a la más reciente, por ejemplo, 2.0.0.
  3. Actualiza la versión de KSP correspondiente a la versión de Kotlin que estás utilizando:

[libraries] kotlin = "org.jetbrains.kotlin:kotlin-stdlib:2.0.0" ksp = "com.google.devtools.ksp:symbol-processing-api:2.0.0-1.0.22"

  1. Sincroniza el proyecto para aplicar los cambios.

Cambios en el archivo build.gradle

El archivo build.gradle maneja la configuración de tu aplicación. Con la actualización de Kotlin a la versión 2.0, puedes eliminar algunas líneas de código gracias a que el compilador de Compose ahora se incluye dentro de esta librería:

  • Elimina cualquier línea relacionada con el compilador de Compose que ya no sea necesaria en esta versión.
  • Si tienes proyectos anteriores, solo necesitarás añadir el plugin para declarar explícitamente el compilador de Compose en tus archivos de configuración.

¿Cómo integrar Compose Compiler Plugin?

Para asegurar la correcta compilación de componentes Compose:

  1. En el archivo libs.versions.toml, en la sección de plugins, añade el siguiente plugin:

[plugins] compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }

  1. Sincroniza el proyecto.
  2. Añade el plugin a nivel de aplicación dentro del archivo build.gradle:

plugins { id 'org.jetbrains.kotlin.android' id 'org.jetbrains.kotlin.plugin.compose' }

  1. Asegúrate de aplicarlo también en el build.gradle global.

¿Cómo verificar la correcta ejecución del proyecto?

Una vez realizado los cambios y configuraciones necesarias, ejecuta tu aplicación para asegurarte de que todo está listo:

  • Inicia la ejecución del APK desde Android Studio.
  • Verifica que no haya problemas de compilación y que el emulador funcione correctamente.

Consejo: Siempre ten un emulador configurado previamente o prueba la aplicación en tu dispositivo físico, si tienes la oportunidad.

La configuración inicial de tu proyecto está completa, lo que te permite enfocarte ahora en personalizar y crear la interfaz de tu aplicación, como el tema, colores, y tipografía.

Aportes 10

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

El archivo `libs.versions.toml` es un catálogo de versiones que se utiliza para administrar las versiones en una aplicación de Android. TOML significa "Tom's Obvious Minimal Language" y es un formato de archivo para archivos de configuración. El archivo `libs.versions.toml` tiene las siguientes secciones: * **versions**: Define las variables que contienen las versiones de los complementos y las dependencias. * **libraries**: Define las dependencias. * **plugins**: Define los complementos. ```js compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } ```
Esta bastante interactiva la manera de realizar el inicio de la app, tomar en cuenta la actualización la nueva version de `Kotlin "2.0.0"` Algo que me pareció un poco curioso, en ninguna de las versiones de inicio o fin del branch para esta clase esta la carpeta *navigation,* aunque como lei, parece ser trabajado mas adelante en la clase 14. Algo también a tomar en cuenta, si queremos trabajar con las versiones mas recientes. * Actualizar al sdk 35 que es de android 15 * Y con ello el gradle, a día de hoy la version 8.7.2 funciona perfecto
Al menos en mi caso dejé todas las librerías a la ultima version que me sugería el android studio, no me compilaba, pero subiendo el target sdk de 34 a 35 ya compila e instala perfecto. GRADLE APP plugins { alias(*libs*.*plugins*.*android*.*application*) alias(*libs*.*plugins*.*kotlin*.*android*) alias(*libs*.*plugins*.*kotlin*.*serialization*) alias(*libs*.*plugins*.*compose*.*compiler*) //alias(libs.plugins.dagger.hilt) //alias(libs.plugins.room) //alias(libs.plugins.ksp) } /\* room { schemaDirectory("$projectDir/schemas") } \*/ *android* { namespace = "com.juandgaines.todoapp" compileSdk = 35 defaultConfig { applicationId = "com.juandgaines.todoapp" minSdk = 26 targetSdk = 35 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary = true } } buildTypes { *release* { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.*VERSION\_17* ** targetCompatibility = JavaVersion.*VERSION\_17* ** } *kotlinOptions* { jvmTarget = "17" } buildFeatures { compose = true } */\*\* no es necesario desde la version 2.0.0 del compilador* *composeOptions {* *kotlinCompilerExtensionVersion = "1.5.14"* *}\*\*/* ** packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } *dependencies* { //Librerias Android y compose *implementation*(*libs*.*androidx*.*core*.*ktx*) *implementation*(*libs*.*androidx*.*lifecycle*.*runtime*.*ktx*) *implementation*(*libs*.*androidx*.*activity*.*compose*) *implementation*(platform(*libs*.*androidx*.*compose*.*bom*)) *implementation*(*libs*.*androidx*.*lifecycle*.*viewmodel*.*compose*) *implementation*(*libs*.*androidx*.*ui*) *implementation*(*libs*.*androidx*.*ui*.*graphics*) *implementation*(*libs*.*androidx*.*ui*.*tooling*.*preview*) *implementation*(*libs*.*androidx*.*material3*) *debugImplementation*(*libs*.*androidx*.*ui*.*tooling*) *debugImplementation*(*libs*.*androidx*.*ui*.*test*.*manifest*) //Librerias Room //implementation(libs.room.ktx) //implementation(libs.room.runtime) //ksp(libs.room.compiler) //Librerias Dagger Hilt //implementation(libs.dagger.hilt.navigation.compose) //implementation(libs.dagger.hilt) //ksp(libs.dagger.hilt.compiler) //Libreria Serializacion *implementation*(*libs*.*kotlinx*.*serialization*.*json*) } GRADLE TODO APP // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { alias(*libs*.*plugins*.*android*.*application*) *apply* false alias(*libs*.*plugins*.*kotlin*.*android*) *apply* false alias(*libs*.*plugins*.*compose*.*compiler*) *apply* false //alias(libs.plugins.ksp) apply false //alias(libs.plugins.room) apply false //alias(libs.plugins.dagger.hilt) apply false }
En esta sesión, se preparó un proyecto de Android empleando **Jetpack Compose**. Primero, se clonó un repositorio con librerías previamente configuradas y se abrió en **Android Studio**. Posteriormente, se actualizó **Kotlin** a la versión 2.0 y se ajustaron las dependencias en el archivo **build.gradle**. Además, se eliminó una línea redundante relacionada con las opciones de Compose, ya que ahora está integrada directamente en Kotlin. Finalmente, la aplicación se ejecutó exitosamente en un emulador. En la siguiente clase, se abordarán los temas, colores y tipografía en Compose.
El archivo `libs.versions.toml` se usa para gestionar las versiones de las dependencias en tu proyecto. Contiene un formato específico donde declaras cada librería junto con su versión. En el transcript, se menciona que debes agregar el plugin de Compose Compiler en esta sección. Un ejemplo de cómo armarlo sería: ```toml [versions] kotlin = "2.0.0" compose-compiler = "2.0.0" [libraries] compose = { module = "androidx.compose.ui:ui", version.ref = "compose-compiler" } ``` Asegúrate de alinear las versiones según lo que estás utilizando en tu proyecto.
Claramente veo que está en la rama MASTER en el vídeo, pero la estructura no es la misma. ![](https://static.platzi.com/media/user_upload/image-6c818e9e-b886-4402-953b-4a566208e0cd.jpg) ![](https://static.platzi.com/media/user_upload/image-46d66bcd-1cd0-4874-8e56-3045ca515b86.jpg) Dejo las imagenes de como esta el proyecto que descargue, y actualice... pero nada que ver con la clase...
Como aporte, a mi el proyecto me compilo con estas versiones de gradle, al dia de hoy. ![](https://static.platzi.com/media/user_upload/image-168dc524-dc72-4c66-9bf5-e367837c5068.jpg)
La estructura del proyecto de la clase 2 no se parece a ninguno de los tres githubs qhe estan en recursos :'(
La clase la iniciamos con la ayuda de un proyecto ya creado para Compose, sería bueno aprender a crear un proyecto desde cero con Compose.
Enel minuto 4:28 el profesor menciona "Compile Options" me parece que no se quería referir a esa parte, ya que más adelante hace mención de "Compose Options".