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.