discover · compare · collections · requirements · contribute · feed · watching · stats · help with your tokens
ArisGuimera/Android-Expert · source
Snapshot 0 · 2026-11-04T12:47:27Z · Kotlin · Apache-2.0
Content fingerprint
4d6033f105d6fbe22586212045c9f30476e0852a4fa7a54fd537987a346c8b06GitHub description at capture
Aprende a PROGRAMAR aplicaciones ANDROID en KOTLIN sin conocimientos previos
README at capture
# Aprende Android desde cero
<p align="center">
<a href="https://youtu.be/i1PNVWd_dTY"><img src="assets/android-course-thumbnail.webp" alt="Aprende Android en 16 horas" style="height: 75%; width:75%;"/></a>
</p>
Aprende a programar sin conocimientos previos. Empezaremos desde lo más básico hasta conseguir desarrollar una aplicación completa.
## Aprende a PROGRAMAR aplicaciones ANDROID en KOTLIN desde CERO
En este curso completo aprenderás desde los fundamentos de Kotlin hasta crear aplicaciones Android con Jetpack Compose. Puedes verlo íntegro en [YouTube](https://youtu.be/i1PNVWd_dTY).
## Temario
### Kotlin desde cero
- [00:00:00 — Introducción](https://youtu.be/i1PNVWd_dTY)
- [00:17:47 — Primer programa: `main`, `print` y comentarios](https://youtu.be/i1PNVWd_dTY?t=1067)
- [00:25:06 — Variables: `val`, `var`, inferencia y tipos](https://youtu.be/i1PNVWd_dTY?t=1506)
- [00:38:50 — Operadores aritméticos, comparación y lógica](https://youtu.be/i1PNVWd_dTY?t=2330)
- [00:52:58 — String templates y conversiones](https://youtu.be/i1PNVWd_dTY?t=3178)
- [01:02:38 — Ejercicio: calculadora de precio, descuento e impuestos](https://youtu.be/i1PNVWd_dTY?t=3758)
- [01:17:18 — Condicionales en Kotlin: `if`, `else if` y `else`](https://youtu.be/i1PNVWd_dTY?t=4638)
- [01:31:00 — `if` como expresión](https://youtu.be/i1PNVWd_dTY?t=5460)
- [01:36:42 — Expresión `when`](https://youtu.be/i1PNVWd_dTY?t=5802)
- [01:42:49 — Rangos](https://youtu.be/i1PNVWd_dTY?t=6169)
- [01:47:16 — Bucle `for`](https://youtu.be/i1PNVWd_dTY?t=6436)
- [01:53:29 — Bucles `while` y `do while`: `break` y `continue`](https://youtu.be/i1PNVWd_dTY?t=6809)
- [02:01:38 — Ejercicio básico: meses del año](https://youtu.be/i1PNVWd_dTY?t=7298)
- [02:07:06 — Ejercicio intermedio: meses del año y estación](https://youtu.be/i1PNVWd_dTY?t=7626)
- [02:11:28 — Funciones en Kotlin](https://youtu.be/i1PNVWd_dTY?t=7888)
- [02:15:41 — Funciones con parámetros de entrada](https://youtu.be/i1PNVWd_dTY?t=8141)
- [02:22:29 — Funciones con parámetros de salida](https://youtu.be/i1PNVWd_dTY?t=8549)
- [02:26:51 — Ejercicio: organizar una calculadora con funciones](https://youtu.be/i1PNVWd_dTY?t=8811)
- [02:40:21 — Retornos anticipados en funciones](https://youtu.be/i1PNVWd_dTY?t=9621)
- [02:44:24 — Null safety](https://youtu.be/i1PNVWd_dTY?t=9864)
- [02:56:37 — Listas en Kotlin](https://youtu.be/i1PNVWd_dTY?t=10597)
- [03:05:53 — Recorrer y modificar listas](https://youtu.be/i1PNVWd_dTY?t=11153)
- [03:12:12 — Ejercicio: crea tu propia agenda](https://youtu.be/i1PNVWd_dTY?t=11532)
- [03:19:30 — Clases y objetos en Kotlin](https://youtu.be/i1PNVWd_dTY?t=11970)
- [03:28:01 — Funciones dentro de una clase](https://youtu.be/i1PNVWd_dTY?t=12481)
- [03:32:05 — Data classes](https://youtu.be/i1PNVWd_dTY?t=12725)
- [03:37:43 — Enum classes](https://youtu.be/i1PNVWd_dTY?t=13063)
### Fundamentos de Android y Jetpack Compose
- [03:43:52 — Preparando el entorno de trabajo](https://youtu.be/i1PNVWd_dTY?t=13432)
- [03:49:54 — Crear nuestro primer proyecto Android](https://youtu.be/i1PNVWd_dTY?t=13794)
- [03:57:14 — Estructura de paquetes](https://youtu.be/i1PNVWd_dTY?t=14234)
- [04:05:42 — Introducción a Jetpack Compose](https://youtu.be/i1PNVWd_dTY?t=14742)
- [04:19:14 — `Text`, `Button` e `Image`](https://youtu.be/i1PNVWd_dTY?t=15554)
- [04:34:47 — `Row`, `Column` y `Box`](https://youtu.be/i1PNVWd_dTY?t=16487)
- [04:46:22 — `Modifier`](https://youtu.be/i1PNVWd_dTY?t=17182)
- [05:02:15 — Ejercicio básico](https://youtu.be/i1PNVWd_dTY?t=18135)
- [05:13:27 — `TextField` y entrada de datos](https://youtu.be/i1PNVWd_dTY?t=18807)
- [05:22:08 — `LazyColumn`: creando listas](https://youtu.be/i1PNVWd_dTY?t=19328)
- [05:30:48 — Estado en Jetpack Compose](https://youtu.be/i1PNVWd_dTY?t=19848)
- [05:38:12 — State Hoisting](https://youtu.be/i1PNVWd_dTY?t=20292)
- [05:49:37 — Creando el menú de nuestras aplicaciones](https://youtu.be/i1PNVWd_dTY?t=20977)
- [05:59:22 — Navegación en Jetpack Compose](https://youtu.be/i1PNVWd_dTY?t=21562)
### Proyectos completos
- [06:14:07 — IMC APP: Gender selector](https://youtu.be/i1PNVWd_dTY?t=22447)
- [06:42:02 — IMC APP: Height slider](https://youtu.be/i1PNVWd_dTY?t=24122)
- [06:51:41 — IMC APP: Counter selector](https://youtu.be/i1PNVWd_dTY?t=24701)
- [07:09:02 — IMC APP: lógica y diseño](https://youtu.be/i1PNVWd_dTY?t=25742)
- [07:19:06 — IMC APP: pantalla de resultados](https://youtu.be/i1PNVWd_dTY?t=26346)
- [07:40:28 — IMC APP: ultimando detalles](https://youtu.be/i1PNVWd_dTY?t=27628)
- [08:02:30 — SETTINGS APP: estructura de la app](https://youtu.be/i1PNVWd_dTY?t=28950)
- [08:14:07 — SETTINGS APP: persistencia de datos real](https://youtu.be/i1PNVWd_dTY?t=29647)
- [08:31:06 — Ejercicio: SETTINGS APP](https://youtu.be/i1PNVWd_dTY?t=30666)
- [08:35:24 — SETTINGS APP: persistencia y diseño de strings](https://youtu.be/i1PNVWd_dTY?t=30924)
- [08:48:58 — SETTINGS APP: reutilizando componentes](https://youtu.be/i1PNVWd_dTY?t=31738)
- [08:58:37 — SETTINGS APP: ultimando detalles](https://youtu.be/i1PNVWd_dTY?t=32317)
- [09:07:11 — DOGS APP: estructura de la app](https://youtu.be/i1PNVWd_dTY?t=32831)
- [09:24:19 — DOGS APP: consumiendo API](https://youtu.be/i1PNVWd_dTY?t=33859)
- [09:50:24 — DOGS APP: listado e imágenes](https://youtu.be/i1PNVWd_dTY?t=35424)
- [09:59:50 — DOGS APP: filtrando perros](https://youtu.be/i1PNVWd_dTY?t=35990)
- [10:05:18 — DOGS APP: completando la app](https://youtu.be/i1PNVWd_dTY?t=36318)
- [10:12:28 — Git y GitHub desde cero](https://youtu.be/i1PNVWd_dTY?t=36748)
- [10:35:22 — Despedida :'(](https://youtu.be/i1PNVWd_dTY?t=38122)
---
## Aplicaciones desarrolladas durante el curso.
### Calculador IMC.
| Pantalla principal | Resultado |
|:------------------------------------------------------------------------------:|:------------------------------------------------------------------------------:|
| <img src="https://i.imgur.com/F6rSzsI.png" style="height: 50%; width:50%;"/> | <img src="https://i.imgur.com/lH1NBas.png" style="height: 50%; width:50%;"/> |
### Organizador de tareas.
| Pantalla principal | Añadiendo tareas |
|:----------------------------------------------------------------------------:|:----------------------------------------------------------------------------:|
| <img src="https://i.imgur.com/uvVh4Q9.png" style="height: 50%; width:50%;"/> | <img src="https://i.imgur.com/GhHuj6c.png" style="height: 50%; width:50%;"/> |
### Buscador de superhéroes.
| Pantalla principal | Añadiendo tareas |
|:----------------------------------------------------------------------------:|:----------------------------------------------------------------------------:|
| <img src="https://i.imgur.com/XNwTHjy.png" style="height: 50%; width:50%;"/> | <img src="https://i.imgur.com/xYOssJf.png" style="height: 50%; width:50%;"/> |
### Pantalla de ajustes.
| Pantalla principal | Añadiendo tareas |
|:----------------------------------------------------------------------------:|:----------------------------------------------------------------------------:|
| <img src="https://i.imgur.com/HnYQIew.png" style="height: 50%; width:50%;"/> | <img src="https://i.imgur.com/p1Yn1gt.png" style="height: 50%; width:50%;"/> |
---
## Preguntas habituales.
* **¿Necesito saber programar?**
* NO, este curso es realmente DESDE CERO.
* **¿Habrán ejercicios?**
* Al final de la clase se pondrán ejercicios que se resolverán al inicio de la clase siguiente.
* **¿Y si tengo dudas?**
* Tienes un canal exclusivo para dudas del curso en el [DISCORD](https://discord.com/invite/SVBExkcGyV?fbclid=IwAR02ojS9ErZfGhl3DQjEZHoX92LX8WWj98JYLVAn7OgMXVrrtf86kfYtvhE) llamado **🖥-twitch-curso-android**.
---
## COLABORA.
Este proyecto es totalmente GRATUITO por lo que puedes aportar tu grano de arena de múltiples formas.
- Dale a FAV al proyecto (Star)
- Comparte el [tuit original](https://twitter.com/AristiDevs/status/1598613278430633984) para que llegue a más gente
- Sígueme en mis [redes sociales](https://aristi.dev)
- Nomíname a [GITHUB STAR](https://stars.github.com/nominate/)