Domina Android desde cero con Kotlin, Compose y Gemini AI
Android 16: Aprende Kotlin, Compose, Retrofit, Inteligencia Artificial, MVVM. Crea/publica apps reales en Android Studio
Lo que serás capaz de hacer
Android 16 : El curso más completo, moderno y especializado de desarrollo Android en español está aquí. Si quieres aprender a crear apps nativas potentes, modernas y listas para Google Play, este no es solo un curso: es tu trampolín para convertirte en desarrollador profesional. Aquí no pierdes tiempo: Configura Android Studio como un experto, en Windows y Mac, y trabaja con emuladores y dispositivos reales. Diseña interfaces impactantes usando layouts XML y Jetpack Compose , aplicando Material 3 con colores dinámicos, tipografías personalizadas y componentes actualizados. Domina Kotlin desde los fundamentos hasta lo avanzado: variables, nulabilidad, funciones, lambdas, POO, herencia, interfaces, extensiones, corrutinas , Clean Code, patrones y buenas prácticas. Integra bases de datos locales con Room , SQLite y DataStore , creando arquitecturas robustas con DAO, migraciones seguras y transacciones personalizadas. Conecta tus apps a APIs REST con Retrofit , manejando autenticación, JSON, errores HTTP y seguridad con headers. Crea interfaces modulares y adaptables con Fragments : comunicación fragment‑activity, ciclo de vida, diálogos avanzados y diseño optimizado para tablets . Aprovecha la Inteligencia Artificial de Gemini integrada en Android Studio para automatizar tareas, optimizar código, documentar funciones y acelerar tu flujo de trabajo. Aplica arquitectura MVVM para crear proyectos escalables, limpios y fáciles de mantener, incluyendo separación de capas, inyección de dependencias y manejo de estados. Desarrolla formularios inteligentes con validación en tiempo real, manejo avanzado de teclado, focus y vistas de progreso personalizadas. Crea listados dinámicos con RecyclerView y LazyColumn, integra multimedia con ExoPlayer, cámara, contactos, mapas y más. Implementa testing con JUnit, simulaciones con mocks y control de corrutinas para asegurar la calidad de tu app. Finaliza con una aplicación completa lista para producción, y aprende paso a paso cómo publicarla en la Google Play Store de forma profesional y segura. ¿Por qué este curso es diferente? Porque reúne todo lo que necesitas en un solo lugar: desarrollo con Kotlin, diseño con Compose y Material 3, acceso a datos con Room, conexión a APIs con Retrofit, Inteligencia Artificial con Gemini, arquitectura MVVM, testing, inyección de dependencias y publicación en Play Store. Todo explicado de forma clara, directa y sin rodeos, con un enfoque práctico desde el primer día. ¿Por qué confiar en este curso? Soy Alain Nicolás Tello, desarrollador Android con más de 10 años de experiencia y más de 140,000 estudiantes satisfechos en Udemy. Sé lo que necesitas aprender para avanzar, porque llevo años formando programadores exitosos. No pierdas más tiempo ni dinero en cursos incompletos o desactualizados. Inscríbete ahora y accede al curso más completo, actualizado y práctico de Android en español. Prepárate para dominar Android Studio, crear tus propias aplicaciones y llevar tu carrera al siguiente nivel. ¡Nos vemos en clase!
- Aprenderás Kotlin desde cero hasta programación avanzada con corrutinas, lambdas y buenas prácticas profesionales.
- Crearás interfaces modernas con Jetpack Compose y XML, aplicando Material 3 con colores dinámicos y tipografía adaptativa.
- Dominarás el uso de la Inteligencia Artificial con Gemini integrada en Android Studio para mejorar y automatizar tu desarrollo.
- Implementarás bases de datos locales con Room, SQLite y DataStore, con migraciones seguras y consultas avanzadas.
- Conectarás tus apps con servicios web reales usando Retrofit, autenticación, JSON y control de errores HTTP.
- Aplicarás la arquitectura MVVM para desarrollar aplicaciones escalables, limpias y fáciles de mantener.
Temario
UNIDAD 1 - Introducción · 3 leccionesUNIDAD 1 - Introducción
UNIDAD 1 - Introducción
- ¿De qué va el curso? ¿Qué apps crearemos?
- Presentación del instructor
- Únete a la comunidad
UNIDAD 2 - Android Studio: Entorno de Desarrollo · 7 leccionesUNIDAD 2 - Android Studio: Entorno de Desarrollo
UNIDAD 2 - Android Studio: Entorno de Desarrollo
- Windows: Descargar e instalar Android Studio
- Windows: Crear Emulador(opcional)
- Mac: Descargar e instalar Android Studio
- Mac: Crear Emulador(opcional)
- ¿Problemas con el emulador nativo de Android Studio?
- Windows: Emulador alternativo(opcional)
- Mac: Emulador alternativo(opcional)
UNIDAD 3 - Diseño de apps ¿Sin saber programar? · 7 leccionesUNIDAD 3 - Diseño de apps ¿Sin saber programar?
UNIDAD 3 - Diseño de apps ¿Sin saber programar?
- Introducción: Apps sin programar
- Crear un nuevo proyecto
- Asistente gráfico de diseño
- Mejorando aspecto
- Elementos extras y limitantes
- Importancia de saber programar
- Conclusiones: Apps sin programar
UNIDAD 4 - Layouts en XML · 19 leccionesUNIDAD 4 - Layouts en XML
UNIDAD 4 - Layouts en XML
- Introducción a Layouts en XML
- Primeros pasos con el LinearLayout
- Fondo y posición general
- Diseños anidados
- Espaciados: Margin y Padding
- Diseño deslizable: ScrollView
- FrameLayout
- Posición independiente
- Reto con FrameLayout
- Primeros pasos con ConstraintLayout
- Espaciado por margin en ConstraintLayout
- Delegar tamaño a constraints
- Diferencias entre referencias
- ConstraintLayout vs FrameLayout
- ScrollView
- Preparación para las Guias
- Solución a diseño con guidelines
- Layouts en XML
- Conclusiones a Layouts en XML
UNIDAD 5 - Fundamentos de Kotlin · 41 leccionesUNIDAD 5 - Fundamentos de Kotlin
UNIDAD 5 - Fundamentos de Kotlin
- Introducción a los fundamentos de Kotlin
- Función principal
- Variables
- Val vs Var ¿Cuándo usarlas?
- Tipo de dato Boolean
- Tipos numéricos(int y long)
- Tipos decimales(float y double)
- Tipos de texto(char y String)
- Unión de textos(concatenar, string templates)
- Nulabilidad en Kotlin
- Variables y Tipos
- Operador Elvis
- Operadores matemáticos
- Operadores de incremento
- Operadores de igualdad
- Operadores lógicos
- Operadores comparativos
- Sentencia If
- Sentencia If Else
- Sentencia When
- Sentencias y Operadores
- Ciclo For
- Ciclo While y Do While
- Interruptores: Break, Continue y Return
- Excepciones con Throw
- Control de errores con Try, Catch y Finally
- Suma Segura de una Lista
- Listas de solo lectura
- Listas mutables
- Map(Diccionarios)
- Transformaciones: Map, Zip, Flatten
- Filtrar estructuras de datos
- Ordenamiento de listas
- Resumen de Inventario
- Variables globales vs locales
- Constantes
- Variable de asignación tardía: Lateinit
- Variable de asignación tardía: by Lazy
- Firma tus clases y archivos en Android Studio
- Fundamentos de Kotlin
- Conclusiones a los fundamentos de Kotlin
UNIDAD 6 - App: Speaker · 6 leccionesUNIDAD 6 - App: Speaker
UNIDAD 6 - App: Speaker
- Introducción App Speaker
- FindViewById: Conectar una vista de XML desde Kotlin
- Visibilidad de la interfaz desde Kotlin
- Servicio para leer texto
- Mejorando la usabilidad de la aplicación
- Conclusiones de App Speaker
UNIDAD 7 - Kotlin avanzado · 32 leccionesUNIDAD 7 - Kotlin avanzado
UNIDAD 7 - Kotlin avanzado
- Introducción a Kotlin avanzado
- Mejores prácticas: Nombres recomendados
- Funciones con argumentos/parámetros
- Funciones con retorno
- Sobrecarga de métodos
- Funciones Lambda
- Vararg y ForEach
- Funciones de orden superior
- Funciones
- Programación Orientada a Objetos: Clases
- Data Class
- Constructor
- Override: Sobreescritura de métodos
- Encapsulación: Visibilidad entre clases
- Herencia: Clases previas
- Herencia entre clases
- Visibilidad limitada
- Super
- Actualizar Android Studio + consejos sobre Gradle
- Companion Object
- Enum Class
- Interface: Primeros pasos
- Interface: Opciones avanzadas
- Equal & Hashcode
- Smart Cast, Safe Cast y Unsafe Cast
- POO: Encapsulación
- POO: Herencia y Polimorfismo con Vehículos
- Funciones de alcance: With, Apply y Run
- Funciones de alcance: Let y Also
- Introducción a Clean code y Code Smell
- Kotlin Avanzado
- Conclusiones a Kotlin avanzado
UNIDAD 8 - Componentes en XML · 29 leccionesUNIDAD 8 - Componentes en XML
UNIDAD 8 - Componentes en XML
- Introducción de componentes en XML
- Nuevo proyecto y CardView
- Botón y estilos de texto
- Reto con ConstraintLayout
- Añadir un evento de click a un botón
- Binding: Habilitar nueva forma de acceso a las vistas
- Diseño para mostrar imagen
- Glide: Nuestra primera librería para cargar imágenes
- Opciones avanzadas para Glide
- Textfield: Primeros pasos
- Icono con acciones
- Textfield desde Kotlin
- Detectar cambios en tiempo real para Textfield
- Checkbox: Casillas
- Chip: Filtros o etiquetas
- Slider: Ajuste por deslizamiento
- Divider
- Nuevo Divider
- Grupo de botones: XML
- Grupo de Botones: Kotlin
- Badge: Notificación experimental
- AlertDialog
- Barra de acciones inferior con CoordinatorLayout
- FloatingActionButton
- Comportamiento del FloatingActionButton
- Snackbar: Mensaje de notificación interno
- Switch: Elemento interruptor
- Menu
- Conclusiones de componentes en XML
UNIDAD 9 - Recursos en Android · 11 leccionesUNIDAD 9 - Recursos en Android
UNIDAD 9 - Recursos en Android
- Introducción a recursos en Android
- Dimensiones
- Variante para tablets
- Crear un emulador para tablet
- Colores y números
- Strings de XML
- Strings de Kotlin
- Traduciendo tus apps a múltiples idiomas
- Probando idiomas en dispositivo
- Recursos XML
- Conclusiones a recursos en Android
UNIDAD 10 - Layouts en Jetpack Compose · 21 leccionesUNIDAD 10 - Layouts en Jetpack Compose
UNIDAD 10 - Layouts en Jetpack Compose
- Introducción a Layouts en Jetpack Compose
- Crear projecto para Jetpack Compose
- Column: Primeros pasos
- Fondo, espaciado y alineamiento
- Modifier: La importancia del orden
- Ocupar el máximo tamaño disponible con espaciado
- Vista deslizable en Compose
- Row
- Box
- Posición dentro de Box
- Imagen con evento de click
- Añadir ConstraintLayout en Compose
- Crear referencias
- Ubicar y distribuir con constraints
- Margin en Compose
- Diferencia de referencias
- Reto: Constraint en Compose
- Solución al diseño Constraint en Compose
- Diseño previo a las guias
- Guidelines para Jetpack Compose
- Conclusiones de Layouts en Jetpack Compose
UNIDAD 11 - Componentes en Jetpack Compose · 34 leccionesUNIDAD 11 - Componentes en Jetpack Compose
UNIDAD 11 - Componentes en Jetpack Compose
- Introducción a Componentes en Jetpack Compose
- Nuevo proyecto para componentes en Jetpack Compose
- BottomAppBar
- Snackbar en Compose
- Toast en Compose
- DropdownMenu
- Solución a salir desde Jetpack Compose
- Iconos extendidos y FloatingActionButton
- Switch
- Mostrar y ocultar FloatingActionButton
- Visibilidad animada
- Imagen, Texto y Botón
- Tarjeta con ConstraintLayout
- Saltar anuncio
- Glide básico para Compose
- Glide avanzado
- Diseño combinado en Card
- Textfield: Email
- Cambio de color
- Textfield: URL
- Textfield: Opciones avanzadas
- Textfield: Contraseña
- Checkbox
- Chip
- Slider
- Divider
- Botones por grupo
- Posición en Compose
- Badge
- Mejorar comunicación
- Snackbar avanzado
- AlertDialog
- Dialog personalizado
- Conclusiones Componentes en Jetpack Compose
UNIDAD 12 - Ciclo de Vida en Android · 25 leccionesUNIDAD 12 - Ciclo de Vida en Android
UNIDAD 12 - Ciclo de Vida en Android
- Introducción al Ciclo de vida
- ¿Actualizar Android Studio, Gradle y Emulador?
- Nueva app: Life Cycle
- Activity
- Lanzar una nueva Activity
- Diagrama del Ciclo de Vida
- Detectar el ciclo de vida con Log
- Comportamiento con 2 Activities
- MediaPlayer: Start, Pause y Resume
- MediaPlayer: Resume, Stop y Destroy
- Comportamiento con Dialog
- Extra: ExoPlayer
- Solución a cambios de configuración y reinicio del Ciclo de vida en Android
- Conservar progreso de audio
- Introducción a la composición y sus fases
- LaunchedEffect
- DisposableEffect
- JC: Vista principal
- JC: DialogActivity
- JC: SecondActivity
- JC: Ciclo de vida principal
- JC: Añadir ExoPlayer
- Vincular y acceder al ciclo de vida de Android en Compose
- Configurar ExoPlayer en Compose
- Conclusiones al Ciclo de vida
UNIDAD 13 - Intents · 23 leccionesUNIDAD 13 - Intents
UNIDAD 13 - Intents
- Introducción a Intents
- Nueva app Intents
- Establecer evento de click a botones
- Definir funciones por intent
- ¿Cómo funcionan las Intents?
- Compartir un texto
- Configurar Alarma
- Crear evento en Calendario
- Mostrar Cámara
- Abrir explorador de archivos
- Abrir configuraciones
- Añadir un contacto nuevo
- Marcar número telefónico
- Enviar correo electrónico
- Enviar mensajes de texto(SMS)
- Abrir ubicación en mapa
- Música
- Búsqueda en Internet
- Abrir sitio web
- Migrar app de Compose a XML
- Probar intents desde app en XML
- Intents
- Conclusiones a Intents
UNIDAD 14 - Listas y Adaptadores · 26 leccionesUNIDAD 14 - Listas y Adaptadores
UNIDAD 14 - Listas y Adaptadores
- Introducción a Listas y Adaptadores
- Crear app nueva en Compose
- Compose: Selector básico
- Selector completo
- ItemList básico
- Lista de datos simulada
- LazyColumn
- Supporting, trailing y overline
- Click en listado
- Mejoras visuales
- Alternar lista en Compose
- XML: Spinner
- ArrayAdapter
- Diseño de vista básico
- Adaptador personalizado básico
- Configurar RecyclerView
- Adapter simple con Foods
- Vista simple de listado avanzado
- Adaptador básico con objetos
- Configurar RecyclerView con objetos
- Borde de imagen
- Trailing y overline
- Texto principal, secundario y Divider
- Comunicar clase Adapter con Activity
- Alternar lista en XML
- Conclusiones de Listas y Adapters
UNIDAD 15 - Corrutinas: Programación asíncrona · 12 leccionesUNIDAD 15 - Corrutinas: Programación asíncrona
UNIDAD 15 - Corrutinas: Programación asíncrona
- Introducción a Corrutinas
- Funciones suspendidas
- Thread vs Corrutinas
- Job
- Scope
- Diseño de interfaz en Compose
- Conectar vista con Activity
- Implementar Fibonacci con y sin corrutinas
- Optimizar Corrutinas con Dispatchers y withContext
- Cancelar corrutina
- Coroutines
- Conclusiones a Corrutinas
UNIDAD 16 - DataStore: Almacenamiento interno · 24 leccionesUNIDAD 16 - DataStore: Almacenamiento interno
UNIDAD 16 - DataStore: Almacenamiento interno
- Introducción a DataStore
- Nueva app: XML DataStore
- Añadir librería DataStore y leer datos
- Editar datos en DataStore
- Vista de Dialog en XML
- Crear dialog
- Detectar primera apertura
- Consultar y guardar nombre de usuario
- Diseño de vistas para lista principal(XML)
- Adaptador
- Añadir país en DataStore
- Consultar países sin procesar
- Formato de texto a lista
- Mejorar experiencia de usuario
- Nueva app: Jetpack Compose DataStore
- Diseño de vista principal en Compose
- Dialog personalizado en Compose
- Registrar nombre de usuario
- Implementar proceso de primera apertura
- Añadir país desde Compose
- Refrescar lista
- Mejoras generales
- Limpiar Textfield
- Conclusiones a DataStore
UNIDAD 17 - Formularios en Android · 49 leccionesUNIDAD 17 - Formularios en Android
UNIDAD 17 - Formularios en Android
- Introducción a los formularios
- Nueva app: JC Form
- Título y primer Textfield
- Texto de soporte
- Textfield reutilizable V1
- Entrada de datos para altura
- OnValueChange
- Extraer datos en Jetpack Compose
- Marcar errores en tiempo real
- Valores numéricos mínimos
- Mensajes de error dinámicos
- Opciones de teclado para Textfield
- ImeAction
- Dialog informativo y reutilizable
- Limpiar formulario
- DatePicker
- Selector de fechas personalizado
- Convertir Long a Fecha
- Textfields optimizados en Row
- RadioButton
- Mejorar UI y restaurar RadioButton
- Notas y multilinea configurable
- Padding modificable
- CheckBox
- Encontrar errores para validar formulario
- Mensaje de Snackbar
- Formato a usuario
- Botón superior alternativo
- Ocultar botones dinamicamente
- Mejoras con limpieza de formulario y progreso
- Solución a ImeAction
- Nueva app: XML Form
- Primer Textfield XML
- Apellidos y altura
- Textfield para fecha
- RadioButton
- Notas, CheckBox y Button
- Ajustar altura con teclado
- Detectar teclado
- Validaciones de formulario
- DatePicker en XML
- Ocupación y fecha seleccionada
- Recolectar datos de formulario en XML
- Mostrar progreso en XML
- Ocultar teclado
- Mostrar Dialog y limpiar datos
- Solución a bug de validación
- JC: Mejores practicas con recursos
- Conclusiones de los formularios
UNIDAD 18 - SQLite: Base de datos relacional nativa · 29 leccionesUNIDAD 18 - SQLite: Base de datos relacional nativa
UNIDAD 18 - SQLite: Base de datos relacional nativa
- Introducción a SQLite
- Nueva App: XML SQLite
- Modelo de datos: Park
- Adaptador básico para Park
- Activity para añadir
- Crear entidad en la base de datos
- Preparar base de datos para inserciones
- Guardar Park desde la vista
- Consulta básica para traer todos los registros
- Validar consulta
- Comunicar adaptador con Activity
- Actualizar un registro de la base de datos
- Eliminar registro con SQLite
- Mejoras en la UI/UX
- Icono de CheckBox personalizado
- Nueva App: JC SQLite
- Diseño de pantalla principal en Compose
- Vista de añadir
- ExtendedFloatingActionButton para Compose
- CheckBox personalizado en Jetpack Compose
- Añadir parque
- Manejo de errores
- Refrescar datos
- Actualizar parque
- Eliminar parque
- Pull & Refresh en Compose
- Mejoras en refresco
- Pull & Refresh en XML
- Conclusiones a SQLite
UNIDAD 19 - Retrofit: Consumo de Servicios Web · 38 leccionesUNIDAD 19 - Retrofit: Consumo de Servicios Web
UNIDAD 19 - Retrofit: Consumo de Servicios Web
- Introducción a Retrofit
- Nueva app: JC Retrofit
- Formulario de Login
- Preparando flujo de trabajo
- Retrofit: Añadir librería
- Modelos de datos basados en la API
- Retrofit: Servicio de Login
- Consumir servicio web con Retrofit
- Mejores prácticas con constantes
- Verificar errores y mostrar Snackbar
- Servicio de Registrar
- Probar método remoto para registro
- Mejoras de código
- Crear vista de progreso reutilizable
- Modelos de datos para consulta de usuario
- Vista básica para mostrar usuario
- Retrofit: Servicio para usuarios
- Ejecutar web service por id de usuario
- Coil: Añadir librería para Compose
- Coil Image reutilizable para Compose
- Text como Link
- Actividad para usuarios
- Listado de usuarios
- Servicio API para lista de usuarios
- Consultar arreglo desde Internet
- Mejorar vista individual
- Errores y navegación
- Nueva app: XML Retrofit
- Diseño de Formulario Login
- Switch y botones
- Eventos básicos
- Ejecutar login y registro con retrofit
- Coil: Añadir librería para XML
- Perfil de usuario completo
- Vistas para listado de usuarios
- Adaptador y consulta de usuarios con retrofit
- Navegación con XML
- Conclusiones a Retrofit
UNIDAD 20 - Gemini: Inteligencia Artificial en Android Studio · 13 leccionesUNIDAD 20 - Gemini: Inteligencia Artificial en Android Studio
UNIDAD 20 - Gemini: Inteligencia Artificial en Android Studio
- Introducción a Gemini AI en Android Studio
- ¿Qué es Gemini? ¿Vale la pena?
- Conectar Gemini en Android Studio
- Mejoras de código con AI
- Encontrar soluciones de código con Gemini
- ¿Cómo utilizar Gemini correctamente?
- Biblioteca de instrucciones: Automatización
- Biblioteca de instrucciones
- Usar Android Studio al máximo
- Programación asistida con Inteligencia Artificial
- Refactorizar código gracias a Gemini
- Documentar fácil con AI
- Conclusiones a Gemini AI en Android Studio
UNIDAD 21 - Room · 50 leccionesUNIDAD 21 - Room
UNIDAD 21 - Room
- Introducción a Room
- Objetivo de la sección
- Nueva app: Room
- Modelo de datos y vista inicial
- Vista individual
- Vista principal con Staggered Grid para Compose
- Introducción a Room
- Añadir Room y configurar KSP
- Entity
- DAO
- Database
- Application
- Probar inserción en base de datos
- Consultar todos los registros
- TopAppBar
- Importar datos masivos
- Mejoras de código
- Vista añadir
- Actividad Add
- Insertar nuevo registro desde la UI
- Seleccionar imagen desde la Galería
- Vista Login
- Activity Login
- Banderas en Intents y Título reusable
- Entidad Usuario
- Dao para usuarios
- AppDatabase y LocalDatabase
- Ejecutar y probar registro y login
- Reparar errores(bugs)
- Seguridad en Room
- Vista Registro
- Actividad Registro
- Mejorar UX(experiencia de usuario)
- Query para encontrar usuario por email
- Migración de bases de datos con Room
- Modificar base de datos
- Insertar datos por usuario autenticado
- Query: Insectos por usuario
- Vista para filtro
- Filtrar base de datos en tiempo real
- Eliminar insecto por base de datos
- Eliminar de forma segura
- Menú
- Eliminar insectos por usuario
- Transacciones con Room(DAO)
- Ejecutar transacciones
- Vistas para usuarios
- Mostrar usuarios
- Insectos en peligro
- Conclusiones de Room
UNIDAD 22 - Material Design 3 · 22 leccionesUNIDAD 22 - Material Design 3
UNIDAD 22 - Material Design 3
- Introducción a Material 3
- Nueva app: JC Material
- Temas: Primeros pasos
- Colors: Primario
- Color secundario y terciario
- Variantes, superficies y sobre de
- Typography: Añadir fuentes
- Primer estilo de texto personalizado
- Estilos para textos de título
- Fuentes flexibles
- Estilos complementarios
- Shapes: Formas personalizadas
- Dynamic Color en Jetpack Compose
- Nueva app: XML Material y color dinámico
- XML: Colores
- XML: Tipografía parte 1
- XML: Tipografía parte 2
- Arreglar problema con texto de soporte en dialogs
- XML: Formas
- Icono personalizado
- Material 3
- Conclusiones Material 3
UNIDAD 23 - Fragments · 16 leccionesUNIDAD 23 - Fragments
UNIDAD 23 - Fragments
- Introducción a Fragments
- ¿Qué app crearemos con Fragments?
- Nueva app: Fragments
- Preparar Ciclo de vida en fragments
- Entendiendo el ciclo de vida en fragments
- Modelo de datos y vistas
- Fragment con lista
- Fragment Detalle
- Agregar fragment con Kotlin
- Enviar argumentos entre Activity y Fragment
- Layout alterno para Tablets
- Seleccionar elemento con 2 fragments
- Tableta y teléfono optimizados
- DialogFragment: Primero pasos
- DialogFragment: Control total
- Conclusiones a Fragments
UNIDAD 24 - Navegación en Android · 28 leccionesUNIDAD 24 - Navegación en Android
UNIDAD 24 - Navegación en Android
- Introducción a la Navegación
- ¿Qué app crearemos?
- App: JC Navigation
- Colores y vistas básicas
- NavHost y Destinos
- NavigationBar en Compose
- NavigationDrawerItem
- Contenedor Drawer
- Navegar y cerrar drawer
- TopAppBar
- Selección y menú sin destino
- Multi-Top Level en Compose
- Mejoras de código
- Preparación previa al BottomSheet
- ModalBottomSheets en Compose
- ModalBottomSheets personalizado
- App: XML Navigation
- Fragments y vistas básicas
- Menú y Navegación en XML
- BottomNavigationView
- Drawer: Diseño en XML
- Menú y Header en XML
- DrawerLayout completo
- BottomSheets: Primeros pasos
- StandarBottomSheets XML
- ModalBottomSheets XML
- Extra: Control total
- Conclusiones a Navegación
UNIDAD 25 - Arquitectura MVVM · 13 leccionesUNIDAD 25 - Arquitectura MVVM
UNIDAD 25 - Arquitectura MVVM
- Introducción a MVVM
- ¿Qué app crearemos con MVVM?
- App: JC MVVM
- Modelos de datos
- Model en Compose
- View en Compose
- ViewModel en Compose
- Ejecutar arquitectura MVVM en Compose
- App: XML MVVM (Model y ViewModel)
- View en XML Parte I
- View en XML Parte II
- Ejecutar MVVM con XML
- Conclusiones de MVVM
UNIDAD 26 - DI: Inyección de Dependencias · 9 leccionesUNIDAD 26 - DI: Inyección de Dependencias
UNIDAD 26 - DI: Inyección de Dependencias
- Introducción a DI
- ¿Qué app crearemos?
- App: DI Basics
- Model
- ViewModel
- View
- Inyección de dependencias: Manual
- Inyección de dependencias: Koin
- Conclusiones DI
UNIDAD 27 - App: Cursos ANT · 47 leccionesUNIDAD 27 - App: Cursos ANT
UNIDAD 27 - App: Cursos ANT
- Introducción a App: Cursos ANT
- ¿Qué app crearemos?
- App: Cursos ANT
- Añadir y configurar Koin y Navigation
- Ejecutar estructura base
- Modelos de datos con nueva API
- Model: Servicio y retrofit
- Utilidad de conversión
- ViewModel y UiState
- View: Diseño central Parte I
- View: Diseño central Parte II
- Inyección de dependencias, básico
- Koin y Retrofit
- Buscar clima por nombre de ciudad
- Componente de progreso mejorado
- Snackbar alternativo y personalizado
- Vista de selección y guardado
- Componente Selector reutilizable
- Room: Entity, Dao y Database
- Inyectar contexto android con Koin
- Guardar ciudad localmente
- Cargar ciudades en selector
- Optimizar funciones/código
- Guardar clima
- Integridad y seguridad: Transactions de Room
- Actualizar solo clima en transacción
- Combinar 2 tablas de SQL en consulta
- View y ViewModel para el offline
- Caché en Coil
- Detectar conexión a Internet
- Domain Layer
- Liberar a Model de Domain
- Domain
- Modulo Ciudades: Model y ViewModel
- View: ItemCity
- View: CitiesScreen
- Previsualizar un ViewModel en Compose
- Ejecutar módulo Ciudades
- Room en tiempo real con Flow
- Mostrar ubicación en mapa
- Eliminar Ciudad y Clima: Model y ViewModel
- Gesto deslizar para eliminar
- Prevenir errores de usuario
- Mensajes informativos
- UI: Reparar errores de contraste
- Icono para app Cursos ANT
- Conclusiones App: Cursos ANT
UNIDAD 28 - Testing · 18 leccionesUNIDAD 28 - Testing
UNIDAD 28 - Testing
- Introducción al Testing
- ¿De que va esta sección Testing?
- Primera prueba unitaria
- Probar objeto vacío y nulo
- Comprobar código ante cambios
- Librerías: Mockito y Coroutine Testing
- Prueba con mockito
- Testing en RemoteDatabase y service
- Librerías: Koin Test y Mockk
- @Before, @After y Inyección de dependencias para Test
- Probar caso en línea exitoso
- Probar caso offline exitoso y verificar comportamiento
- Pruebas para casos de fallas
- Truco: Ejecuta pruebas masivamente
- Reto: Testing con nombre vacío
- Solución a reto: Testing con nombre vacío
- Comparar Testing con y sin buenas prácticas
- Conclusiones al Testing
UNIDAD 29 - Play Store: Publica tus apps · 23 leccionesUNIDAD 29 - Play Store: Publica tus apps
UNIDAD 29 - Play Store: Publica tus apps
- Introducción a Play Store
- Crear cuenta en Google Play Console
- Verificar identidad: Enviar formulario y documentos
- Verificar dispositivo
- Verificar número de teléfono
- Generar descripción con Gemini
- Crear llave para firma digital
- Firmar app ¿aab o apk?
- Variante release en Android Studio
- Proteger datos delicados en Gradle
- Preparando imágenes
- Politica de privacidad
- Fases de pruebas
- Crear prueba interna
- Invitar y aceptar ser verificador
- Modificar app para seleccionar idioma
- Interfaz para idioma
- Proguard: Seguridad y optimización
- Publicar actualización
- Prueba cerrada: Primeros pasos
- Panel prinicipal, contenido de la app
- Configurar y enviar a revisión
- Conclusiones de Play Store
UNIDAD 30 - Gemini AI Parte 2 · 9 leccionesUNIDAD 30 - Gemini AI Parte 2
UNIDAD 30 - Gemini AI Parte 2
- Introducción a Gemini AI Parte 2
- IA con Imágenes
- Generar CRUD con Gemini
- Modo Agente: Primeros pasos
- Más instrucciones al Agente de Gemini
- Reparar bugs y comparar
- Reglas para Gemini AI
- Generar datos, pruebas y documentación
- Conclusiones Gemini AI Parte 2
UNIDAD 31 - QR: App Scanner ANT · 11 leccionesUNIDAD 31 - QR: App Scanner ANT
UNIDAD 31 - QR: App Scanner ANT
- ¿De qué va la app con Códigos de barras?
- Nuevo proyecto y librerías: ML Kit y Permission
- Detectar permisos con Jetpack Compose
- Pedir permisos en tiempo real
- Configurar estados para CameraX
- Inicializar Cámara
- Enlazar Activity y probar CameraX
- Clase para analizar códigos de barras
- Detectar todos los formatos de Códigos de barra
- Detectar URLs y Teléfonos
- Añadir acciones y filtros
UNIDAD 32 - Fin del curso ¿Más contenido? · 1 leccionesUNIDAD 32 - Fin del curso ¿Más contenido?
UNIDAD 32 - Fin del curso ¿Más contenido?
- Clase Extra
Tu certificado lo emite la SEP, no solo una plataforma
Al demostrar la competencia recibes un certificado emitido por la Secretaría de Educación Pública a través del Gobierno del Estado de México: un documento oficial que puedes presentar con confianza ante cualquier empleador o institución.
Tu certificado con INEC
- Lo emite la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México
- Documento oficial con folio verificable en línea
- Lo otorga la Universidad Tecnológica Fidel Velázquez
Otras plataformas en línea
- Constancia privada emitida por la misma plataforma
- Solo acredita horas cursadas o asistencia
- Sin respaldo de una autoridad educativa
Tu itinerario, de la inscripción al certificado
- 1
Inscripción con pago único
Pagas $2,800 MXN una sola vez y entras de inmediato al curso.
- 2
Estudias a tu ritmo
32 unidades con videos, lecturas y actividades, disponibles 24/7 durante 12 meses.
- 3
Cuestionarios por unidad
14 cuestionarios para comprobar lo aprendido.
- 4
Certificado
Emitido por la SEP a través del Gobierno del Estado de México, con folio verificable.
Un certificado oficial de la SEP
- Emitido por la Secretaría de Educación Pública (SEP), a través del Gobierno del Estado de México. No es una constancia privada: es un documento oficial, y ese respaldo marca la diferencia frente a otras plataformas en línea.
- Contenido impartido por Alain Nicolás Tello.
- Folio y QR verificables para compartirlo con quien te contrate.
Empieza hoy, a tu ritmo
Un solo pago y acceso inmediato al curso completo durante 12 meses.
- 32 unidades · 696 lecciones · 60 h
- 12 meses de acceso
- 14 cuestionarios de evaluación
- Certificado emitido por la SEP (Gob. del Estado de México) con folio verificable
Sobre tu inscripción
¿Cómo es el pago?
Un solo pago de $2,800 MXN. No hay mensualidades ni cargos recurrentes.
¿Cuánto tiempo tengo acceso?
12 meses desde tu inscripción, 24/7, para avanzar a tu ritmo.
¿Quién imparte el contenido?
El curso es impartido por Alain Nicolás Tello; INEC gestiona tu inscripción, evaluación y certificado.
¿Qué pasa cuando vence mi acceso?
Puedes renovar tu cuenta tú mismo desde la plataforma, sin trámites ni esperas.


