VÁZQUEZ, ÁNGEL / GOMEZ, JUAN ANTONIO / SERRANO, RA / RAMÓN SERRANO
PARTE 1: BLOQUE TEÓRICO
CAPÍTULO 1: INTRODUCCIÓN 11
¿A quién va dirigido?..................................................................................................................................................................................................12
¿Cuál es el propósito?.................................................................................................................................................................................................12
Darás respuestas a........................................................................................................................................................................................................13
Estructura del libro........................................................................................................................................................................................................13
En primer lugar, algunos conceptos teóricos.........................................................................................................................................13
Comienza la práctica.................................................................................................................................................................................................15
Ahora practicaremos más en serio................................................................................................................................................................15
Kotlin para rematar.....................................................................................................................................................................................................16
CAPÍTULO 2: ARQUITECTURA CLEAN 17
CAPÍTULO 3: PRINCIPIOS SOLID 21
CAPÍTULO 4: PATRONES DE DISEÑO 27
MVC (Modelo Vista Controlador)...............................................................................................................................................................28
MVP (Modelo Vista Presentador)................................................................................................................................................................29
Comparando MVC y MVP....................................................................................................................................................................................31
Patrón Observer..............................................................................................................................................................................................................31
CAPÍTULO 5: INYECCIÓN DE DEPENDENCIAS 35
¿Qué es la inversión de dependencias?....................................................................................................................................................36
¿En qué nos ayuda la inyección de dependencias?.......................................................................................................................36
¿En qué consiste?..........................................................................................................................................................................................................36
CAPÍTULO 6: DAGGER 2 37
CAPÍTULO 7: ARQUITECTURA DEL PROYECTO ANDROID 41
CAPÍTULO 8: TEST UNITARIOS 43
JUnit..........................................................................................................................................................................................................................................44
Aplicación de ejemplo..............................................................................................................................................................................................46
Test con JUnit....................................................................................................................................................................................................................50
Test con Mockito............................................................................................................................................................................................................55
CAPÍTULO 9: BITBUCKET & JENKINS 67
Jenkins......................................................................................................................................................................................................................................74
Instalación............................................................................................................................................................................................................................75
CAPÍTULO 10: TRELLO 93
CAPÍTULO 11: SLACK 97
Creación de un grupo en Slack.....................................................................................................................................................................100
CAPÍTULO 12: BITBUCKET 107
Inicializar Git desde un directorio existente.........................................................................................................................................109
Clonar repositorio en un directorio................................................................................................................................................................111
Integrar Bitbucket con Slack...............................................................................................................................................................................112
PARTE 2: PROYECTOS DE PRUEBA
CAPÍTULO 1: PROYECTO BASE DAGGER 2 117
CAPÍTULO 2: PROYECTO BASE DAGGER V.2.11 123
CAPÍTULO 3: PROYECTO CLEAN MVP CON DAGGER 2.11 Y RXJAVA 131
PARTE 3: DESARROLLO DE UNA APP PROFESIONAL
CAPÍTULO 1: DESARROLLO APP PROFESIONAL 167
Trello....................................................................................................................................................................................................................................... 168
Git.............................................................................................................................................................................................................................................169
Firebase................................................................................................................................................................................................................................172
GSON....................................................................................................................................................................................................................................179
Retrofit 2.............................................................................................................................................................................................................................180
Butterknife......................................................................................................................................................................................................................... 182
Picasso................................................................................................................................................................................................................................... 183
Realm Database.......................................................................................................................................................................................................... 183
Desarrollo de la aplicación................................................................................................................................................................................ 186
PARTE 4: KOTLIN
CAPÍTULO 1: KOTLIN 265
Hola Mundo (IntelliJ IDEA)............................................................................................................................................................................. 267
Variables y tipos..........................................................................................................................................................................................................269
Arrays...................................................................................................................................................................................................................................270
Listas......................................................................................................................................................................................................................................272
Funciones............................................................................................................................................................................................................................274
Colecciones y funciones........................................................................................................................................................................................ 275
If-else-when.......................................................................................................................................................................................................................277
Hola Mundo en Kotlin............................................................................................................................................................................................279
CAPÍTULO 2: KOTLIN MVP 285
Módulo del dominio.................................................................................................................................................................................................286
Módulo de datos........................................................................................................................................................................................................290
Módulo de presentación......................................................................................................................................................................................293
REFLEXIONES FINALES
El mundo está lleno de desarrolladores Android, aunque no todos son capaces de plantear soluciones profesionales a problemas reales. Si quieres saber lo que nadie te contará y lo que las empresas desean, aunque aún no lo sepan, este es tu libro. Conseguirás organizar tus ideas, invertir tu tiempo sin desperdiciarlo y ahorrar dinero a la empresa con las últimas novedades en el desarrollo de Android. ? Aprenderás los principios SOLID y sabrás aplicarlos. ? Entenderás lo que es una arquitectura limpia. ? Conocerás distintos patrones de diseño. ? Serás capaz de estructurar tu proyecto en capas. ? Dominarás la inyección de dependencias y Dagger 2. ? Utilizarás control de versiones de código fuente. ? Definirás casos de uso, orientando el desarrollo a implementarlos. ? Ejecutarás pruebas unitarias para validar la funcionalidad de tu código. ? Aprenderás qué es la integración continua y utilizarás Jenkins. ? Conocerás Kotlin, el nuevo lenguaje de desarrollo para Android impulsado por Google. Los autores son tres experimentados desarrolladores de software, con amplia experiencia en el desarrollo de proyectos en el ámbito empresarial, del mundo Java, .Net y Android. En este manual te facilitan lo necesario para ir un paso más allá del desarrollo y convertirte en todo un profesional de Android. ¡El momento del arquitecto software ha llegado, conviértete en uno de ellos y evoluciona!