Objetivo:
Durante el curso, al participante se le dará a conocer las principales herramientas y comandos necesarios de “Kotlin” (XML, MVVM, Room, Flows, Dagger Hilt) para que sea capaz de desarrollar aplicaciones móviles para el sistema operativo Android, desde el diseño de interfaces hasta la funcionalidad completa de una aplicación. Se desarrollarán durante el curso tres tipos de aplicaciones móviles: personal, administrativa y comercial.
Requerimientos técnicos
Para garantizar un desarrollo adecuado durante el curso, se recomienda que el participante cuente con un equipo con las siguientes características mínimas:
- Procesador: AMD Ryzen 3 5500G, Intel Core i5 (10ª generación) o superior.
- Memoria RAM: mínimo 12 GB (se recomienda 16 GB para mayor fluidez).
- Almacenamiento: Disco duro de estado sólido (SSD) con al menos 20 GB de espacio libre
- Sistema operativo: Windows 10 o superior.
A quien va dirigido
Profesionistas y estudiantes afines al área de programación, análisis de datos, ingeniería de software o TI con conocimientos básicos de estructuras de control, lógica de programación, y nociones sobre variables, funciones y tipos de datos.
Material a entregar
Material de apoyo digital y Reconocimiento de participación.
Contenido
En la primera parte, se darán a conocer los conceptos básicos de Android y Kotlin (XML, Room, MVVM, LiveData, Flow) necesarios, desde el diseño de la interfaz, hasta la lógica de negocios para el desarrollo de la primera aplicación móvil.
El curso esta dividido en tres niveles (básico, intermedio y avanzado), cada uno orientado al desarrollo de una aplicación completa y funcional de manera progresiva.
A lo largo del curso, se fomenta el desarrollo del pensamiento lógico, la estructuración de proyecto y la capacidad de implementar soluciones reales a través de la tecnología móvil.
Las aplicaciones serán desarrolladas bajo tres características:
- Personal: aplicaciones orientadas a la organización individual y productividad.
- Administrativa: aplicaciones diseñadas para simular procesos internos en una organización, como solicitudes y gestiones administrativas.
- Comercial: aplicaciones enfocadas al comercio digital.
Sección 1: Configuración inicial y fundamentos del proyecto
- Presentación del curso y herramientas.
- Instalación y configuración de Android Studio.
- Explicación de los requerimientos para el desarrollo de la primera app.
- Generación de un proyecto nuevo vacío.
Sección 2: Configuración inicial del proyecto.
- Implementación de dependencias necesarias.
- Configuración de ViewBinding.
- Sincronización de la configuración.
- Configuración del emulador.
Sección 3: Introducción a Room como base de datos local.
- ¿Qué es Room y SQLite?
- Creación de la Base de Datos principal.
- Creación de entidades o tablas a requerir.
- Relación entre entidades.
Sección 4: Desarrollo, instanciación y operaciones de un DAO.
- Creación del DAO.
- Explicación de las operaciones básicas de SQLite con anotaciones.
- Desarrollo de operaciones básicas en base a los requerimientos.
- Relación entre el DAO y el Base de Datos.
Sección 5: Introducción a los componentes de XML.
- Introducción a los componentes básicos de XML (TextView, ImageView, CardView, RecyclerView, etc.).
- Introducción a las propiedades básicas de cada componente.
Sección 6: Introducción a los Adaptadores para listas personalizadas.
- Introducción a los RecyclerView.
- Introducción a Adapter y ViewHolder.
- Desarrollo del XML para mostrar el elemento en la lista.
- Relación entre el Adapter y el XML.
Sección 7: Introducción a los ViewModel y la arquitectura MVVM.
- ¿Qué son los ViewModel y su funcionamiento?
- ¿Qué es la arquitectura MVVM?
- ¿Qué son los LiveData y los Flows?
- Diferencias entre LiveData y Flows.
- Implementación del ViewModel mediante ViewModelFactory.
Sección 8: Desarrollo de la UI para la pantalla principal.
- Planificación de la pantalla principal para mostrar el listado.
- Descarga de recursos (iconos y fuentes) para utilizar dentro del proyecto.
- Desarrollo de la pantalla principal.
Sección 9: Introducción a Data Class y Enums.
- Introducción a Data Class y Enums.
- Desarrollo e implementación de los Enums.
- Desarrollo de Data Class para entidades relacionales y embebidas.
Sección 10: Desarrollo y conexión del ViewModel con la UI y el DAO.
- Desarrollo de los casos de uso del ViewModel.
- Relación entre el DAO con el ViewModel.
- Vinculación del ViewModel con la UI.
- Manejo de Flows cono el estado de la UI.
Sección 11: Desarrollo de los requerimientos de la aplicación.
- Desarrollo de los requerimientos establecidos en la descripción del proyecto, con sus componentes y objetos necesarios.
- Finalización de la primera aplicación.
Sección 12: Introducción a la segunda aplicación.
- Explicación de los requerimientos para el desarrollo de la segunda app.
- Generación de un proyecto nuevo vacío.
- Introducción a las nuevas dependencias mediante lib.toml.
Sección 13: Introducción a Dagger Hilt.
- ¿Qué es Dagger Hilt, y cuáles son sus beneficios?
- Implementación de dependencias y KSP.
- Configuración del proyecto inicial mediante Dagger Hilt.
Sección 14: Introducción a los fragmentos y configuración de la actividad.
- ¿Qué son los fragmentos, y diferencias entre una actividad?
- Desarrollo de los fragmentos a utilizar.
- Configuración de la actividad para usar los fragmentos mediante Fragment Manager.
Sección 15: Introducción a DiffUtil.
- ¿Qué es DiffUtil, y ventajas ante notifyDataChanged?
- Configuración del proyecto para el manejo de DiffUtil.
Sección 16: Desarrollo de la UI completa de la app.
- Diseño del XML para el adaptador.
- Desarrollo de los modelos de datos y los adaptadores.
- Desarrollo de los fragmentos.
- Desarrollo de los ViewModels de los fragmentos.
- Desarrollo de la actividad principal.
Sección 17: Introducción a Retrofit2.
- ¿Qué es Retrofit2, y qué son las API REST?
- Configuración del proyecto para el uso de Retrofit2.
- Manejo de Retrofit2 mediante Dagger Hilt.
Sección 18: Desarrollo de la lógica de negocios de la app.
- Desarrollo de las interfaces y métodos para establecer conexión con el servicio REST.
- Conexión entre la UI y los servicios REST.
- Testeo y finalización de la segunda aplicación.
Sección 19: Introducción a la tercera aplicación.
- Explicación de los requerimientos para el desarrollo de la tercera app.
- Generación de un proyecto nuevo vacío.
- Configuración de Room, Dagger Hilt, ViewModel y fragmentos.
Sección 20: Introducción a Navigation Component y SafeArgs.
- ¿Qué es NavComponent y en qué beneficia el desarrollo de Fragmentos?
- ¿Qué son los SafeArgs en la navegación de fragmentos y qué beneficios tiene?
- Configuración del proyecto para el uso de NavComponent y SafeArgs.
Sección 21: Entidades a profundidad con Room y SQLite.
- Desarrollo de entidades 1:N y N:M, claves primarias, claves foráneas, índices, eventos en cascada.
Sección 22: Desarrollo de NavComponent.
- Diseño del grafo de navegación de la UI.
- Configuración de acciones requeridas y parámetros necesarios.
Sección 23: Diseño completo de la app.
- Desarrollo de la lógica de negocios de la aplicación en base a los requerimientos solicitados.
- Diseño de la UI (actividad, fragmentos, adaptadores…).
- Testeo y finalización de la tercera aplicación.
Sección 24: Publicación en Play Store.
- ¿Qué es la Google Play Console?
- Requisitos para publicar aplicaciones en Play Store.
- Diseño de la aplicación virtual en la Play Store.
- Publicación de la aplicación.
Sección 25: Finalización del curso.
- Revisión y evaluación de las aplicaciones desarrolladas.
- Entrega del material y certificado de finalización.
- Cierre del curso.
- Contará con tres aplicaciones móviles funcionales, desarrolladas paso a paso
- Habrá experimentado el ciclo completo de desarrollo de una app Android
- Comprenderá la lógica de organización y mantenimiento de una app para distintos contextos
- Habrá simulado el proceso de publicación en la tienda de aplicaciones Play Store
- Estará preparado para crear nuevas aplicaciones por cuenta propia, utilizando herramientas modernas y un enfoque estructurado
Fecha de Inicio
Por definir
*Fechas y horarios sujetas a cambios; mínimo 8 personas para iniciar.
Frecuencia y Horario
Sabatina de 9:00 a. m. a 1:00 p. m.
Costo
De $10,670 a $4,920
Modalidad
En línea
Duración
36 horas promedio
Lugar
Dirección General de Tecnologías y Desarrollo Digital, Pedro de Alba s/n Cd Universitaria