Introducción al curso
  • Introducción
  • Conoce a Juan Gabriel Gomila, tu instructor online
  • Acerca de la valoración prematura del curso en Udemy
  • La comunidad de Discord para aprender todos juntos
  • Repositorio Git del curso
MVP al completo
  • Un pequeño comentario antes de empezar la sección
  • Un resumen de la parte teórica (por si quieres saltarte la sección)
  • Introducción al MVP
  • Entendiendo la arquitectura de Android
  • MVP en Android
  • Las necesidades del desarrollo de apps
  • Un ejemplo concreto en Android
  • El principio SOLID
  • Desacoplando la arquitectura
  • El MVP en acción
  • Arquitectura clean y MVP
  • El flujo de dependencias
  • Y en resumen...
Inyección de dependencias con Dagger II
  • Dagger II de Google
  • Portal de Dagger II
  • Dependencias
  • Inyección de dependencias
  • Ejemplo de inyección de dependencias
  • La interfaz gráfica de usuario
  • Añadir las dependencias de Dagger
  • La estructura para usar Dagger en Android
  • Estructura de paquetes recomendada
  • Estructura de clases para MVP
  • Los métodos de las interfaces de MVP
  • Implementación de la Vista
  • Implementación del Presentador
  • Implementación del Modelo
  • Configuración del módulo y las dependencias
  • Visualizando MVP línea por línea
  • MVP y dagger
Pruebas unitarias con JUnit, Mockito y Retrofit
  • Librerías para el Test Driven Development
  • Portal de Mockito para pruebas unitarias
  • Configurando Mockito para Unit Tests
  • Ejercicios con Mockito (I)
  • Ejercicios con Mockito (II)
  • Ejercicios con Mockito (III)
  • Ejercicios con Mockito (IV)
Llamadas HTTP y a APIs con Retrofit
  • Retrofit, un cliente seguro de HTTP para Android y Java
  • Web y recursos de Retrofit
  • Configurando Retrofit en Android
  • Cómo usar Gradle como un profesional
  • Generar clases de Java a partir de ficheros JSON
  • Conversor de ficheros JSON a POJO
  • Registro en el portal de la API de Twitch
  • API del portal de videojuegos Twitch
  • Cómo usar Retrofit para conectarnos a la API de Twitch
  • Descargando datos desde Twitch
  • Práctica: Retrofit y APIs
Programación reactiva con RxJava
  • Programación reactiva vs imperativa
  • Conoce el proyecto ReactiveX
  • Un ejemplo sencillo de programación reactiva
  • Un ejemplo un poco más elaborado
  • Webs de recursos de ReactiveX
  • Integrando RxJava en Android
  • Los objetos observables
  • Flujo de datos reactivos
  • Documentación de Reactive para desaprender
  • Un ejercicio para ti
  • Llamadas a Twitch con programación reactiva
Binding anotado con Butter Knife
  • Butter Knife, una herramienta muy útil
  • Portal web de Butter Knife
  • Integración de Butter Knife
  • Plugin para Butter Knife
  • Un ejemplo sencillo de Butter Knife
  • Butter Knife para otros recursos
  • Fragmentos, Adapters y listas de Vistas
  • Binding de métodos y modificadores
  • Frameworks para dar y tomar
Proyecto final - Una app de película
  • El proyecto final del curso
  • Las librerías y dependencias
  • Diseño de la vista
  • ButterKnife y la interfaz de MVP
  • Configuración de Dagger e inyecciones de dependencias
  • Configurando el adapter de la recycler view
  • Implementando la lógica de la vista
  • Implementando la lógica del presentador
  • Implementando la lógica del modelo
  • Las Apis de 'The Movie Database' y 'OMDb'
  • Dos APIs para el mundo del cine
  • Los módulos e implementaciones de las APIs
  • El binding de Dagger 2 para compilar el proyecto
  • Implementando los clientes de Retrofit con claves de API
  • Crear una cache de datos
  • Descargar los datos con RxJava y Retrofit
  • Ultimando detalles de configuración
  • Resolución de bugs finales
  • Debugging de nuestro código por capas