Dejando todo listo
  • ¡Bienvenido al curso!
  • Instala Android Studio
  • Ejecución de App en un Emulador
  • Ejecuta tu app en un dispositivo móvil real
  • Consulta curso gratuito Java para Principiantes si lo necesitas
  • ¿Dónde encuentro el código del curso?
Comenzando a conocer Android
  • App: Mi edad canina
  • Descarga Mi edad canina de Github
  • Android Views
  • Construye el diseño de la app Mi edad canina (ImageViews)
  • OnClickListeners y lógica de app Mi edad canina
  • El Logcat: Encuentra errores fácilmente
  • Logs con Android
  • Informando al usuario con Toasts
  • Recursos String
  • Soporta múltiples idiomas
  • ¿Qué es el data binding?
  • Implementando data binding
  • Inserta icono de la app
  • Android Manifest
  • Layouts: Mejora el diseño de tus apps
Adentrándonos más en Android
  • App: Registro de superheroes
  • Descarga registro de superheroes de Github
  • Relative Layouts: Construyendo la pantalla principal de registro de superheroes
  • Constraint layouts: Pantalla de detalles de registro de superheroes
  • Explicit intents: Abre otras activities
  • Pasando datos entre Activities con los intents
  • Parcelables: Pasa un objeto entero entre intents
  • Variables en data binding
  • Implicit intents: Toma fotos en tus apps
  • Pasando fotos entre activities
  • Scrollviews
  • El archivo Gradle
  • Ejercicio: Basketball score
ViewModel y LiveData
  • App: Basketball Score
  • Descargar App Basketball Score
  • Activity Lifecycle
  • Experimentando con el Lifecycle
  • Introducción a los ViewModel
  • Analizando Basketball Score
  • Agregando ViewModel a Basketball Score
  • ¿Qué es LiveData?
  • Implementando LiveData
  • Encapsulando ViewModel con LiveData
  • Prueba rotando el teléfono
RecyclerViews
  • App: Earthquake Monitor
  • RecyclerViews
  • Diseñando un elemento del RecyclerView
  • Creando un terremoto
  • Creando un Adapter
  • Agregando data binding al adapter
  • Dando clic en los elementos de la lista
  • Agregando un Empty View al Recycler
  • ExecutePendingBindings en adapter
  • Ejercicio: Fake Bot
Trayendo datos de internet
  • Un poco de teoría, aunque necesaria
  • Arquitecturas de programación
  • La arquitectura MVVM
  • Implementando MVVM para traer datos de internet
  • Ejercicio: Guess Chat
  • ¿Qué es una API?
  • Analizando la API de USGS
  • Retrofit: La librería más usada para descargar datos con Android
  • Creando un servicio API en Retrofit
  • Implementando ViewModel en Earthquake Monitor
  • Descargando terremotos de internet
  • ¿Qué es JSON?
  • Parseando JSON de terremotos
  • Moshi: Una librería para parsear JSON más fácilmente
  • Agregando un repositorio
  • Una pequeña mejora pero el diablo está en los detalles
Guardando datos en el dispositivo
  • ¿Dónde vamos en el MVVM?
  • App packages
  • La mejor manera de ordenar tus apps (Package by features, not layers)
  • Agrega Room dependencies
  • Creando un Entity para Room
  • DAOs
  • Pequeño tutorial SQLite
  • Creando la base de datos
  • ViewModelFactory: Como pasar datos al constructor de un ViewModel
  • Guardando y obteniendo terremotos de la base de datos
  • Manejando status de descarga
  • Progressbar y errores en descargas de datos
Aviso importante de actualización de curso
  • Aviso importante de actualización de curso
Android Fragments
  • ¿Qué es un fragment?
  • Ciclo de vida de un fragment
  • App: Pokedex
  • Integra fragments en XML
  • Creando un detail fragment
  • Pasar datos de un Fragment a una Activity
  • Pasar datos de Activity a Fragment