Android es la plataforma libre para el desarrollo de aplicaciones móviles creada por Google. En la actualidad se ha convertido en la plataforma líder frente a otras como iPhone o Windows Phone.
Las aplicaciones Android están ampliando su rango de influencia a nuevos dispositivos tales como tabletas, internet de las cosas, Wearables, TV o automóviles.
Se desarrollan dos aplicaciones de ejemplo: el mítico videojuego Asteroides y una aplicación de gestión de información personal, Mis Lugares*. Incluye fragments, gráficos vectoriales y mapa de bits, control mediante pantalla táctil y sensores, hilos con AsyncTask, notificaciones, geolocalización, mapas, multimedia, ficheros, XML, JSON, SQL, acceso a Internet, servicios Web, acceso a bases de datos en servidor PHP + MySQL, Volley
TEMARIO
- Lista de siglas y acrónimos ……………………………………………………………………… xvi
- ¿Cómo leer este libro? …………………………………………………………………………… xviii
- CAPÍTULO 1. Visión general y entorno de desarrollo ……………………………… 21
- 1.1. ¿Qué hace que Android sea especial? …………………………………………….. 22
- 1.2. Los orígenes …………………………………………………………………………………. 23
- 1.3. Comparativa con otras plataformas …………………………………………………. 24
- 1.4. Arquitectura de Android………………………………………………………………….. 26
- 1.4.1. El núcleo Linux ………………………………………………………………………… 27
- 1.4.2. Runtime de Android ………………………………………………………………….. 27
- 1.4.3. Librerías nativas ………………………………………………………………………. 28
- 1.4.4. Entorno de aplicación ……………………………………………………………….. 28
- 1.4.5. Aplicaciones …………………………………………………………………………….. 29
- 1.5. Instalación del entorno de desarrollo ……………………………………………….. 29
- 1.5.1. Instalación de la máquina virtual Java ………………………………………… 29
- 1.5.2. Instalación de Android Studio …………………………………………………….. 30
- 1.5.3. Creación de un dispositivo virtual Android (AVD) …………………………. 33
- 1.6. Las versiones de Android y niveles de API ……………………………………….. 36
- 1.6.1. Las primeras versiones …………………………………………………………….. 37
- 1.6.2. Cupcake………………………………………………………………………………….. 37
- 1.6.3. Donut ……………………………………………………………………………………… 38
- 1.6.4. Éclair ………………………………………………………………………………………. 38
- 1.6.5. Froyo ………………………………………………………………………………………. 38
- 1.6.6. Gingerbread …………………………………………………………………………….. 39
- 1.6.7. Honeycomb ……………………………………………………………………………… 40
- 1.6.8. Ice Cream Sandwich ………………………………………………………………… 41
- 1.6.9. Jelly Bean ……………………………………………………………………………….. 41
- 1.6.10. KitKat ……………………………………………………………………………………… 42
- 1.6.11. Lollipop …………………………………………………………………………………… 43
- 1.6.12. Marshmallow ……………………………………………………………………………. 44
- 1.6.13. Android Nougat ………………………………………………………………………… 45
- 1.6.14. Android Oreo …………………………………………………………………………… 46
- 1.6.15. Android Pie ……………………………………………………………………………… 47
- 1.6.16. Android 10 ………………………………………………………………………………. 48
- 1.6.17. Android 11 ………………………………………………………………………………. 48
- 1.6.18. Elección de la plataforma de desarrollo ………………………………………. 49
- 1.6.19. Las librerías de compatibilidad (support library)……………………………. 51
- 1.7. Creación de un primer proyecto ………………………………………………………. 52
- 1.8. Ejecución del programa………………………………………………………………….. 55
- 1.8.1. Ejecución en el emulador ………………………………………………………….. 56
- 1.8.2. Ejecución en un terminal real …………………………………………………….. 56
- 1.9. Ficheros y carpetas de un proyecto Android …………………………………….. 58
- 1.10. Componentes de una aplicación ……………………………………………………… 61
- 1.10.1. Vista (View) ……………………………………………………………………………… 62
- 1.10.2. Layout …………………………………………………………………………………….. 62
- 1.10.3. Actividad (Activity) ……………………………………………………………………. 62
- 1.10.4. Fragmentos (Fragment) …………………………………………………………….. 62
- 1.10.5. Servicio (Service) ……………………………………………………………………… 63
- 1.10.6. Intención (Intent) ………………………………………………………………………. 63
- 1.10.7. Receptor de anuncios (Broadcast Receiver)………………………………… 63
- 1.10.8. Proveedores de contenido (Content Provider) ……………………………… 63
- 1.11. Documentación y aplicaciones de ejemplo ……………………………………….. 64
- 1.11.1. Dónde encontrar documentación ……………………………………………….. 64
- 1.11.2. Repositorio de ejemplos en GitHub …………………………………………….. 64
- 1.12. Depurar ……………………………………………………………………………………….. 65
- 1.12.1. Depurar con el entorno de desarrollo ………………………………………….. 65
- 1.12.2. Depurar con mensajes Log ……………………………………………………….. 67
- 1.13. Introducción Java/Kotlin y aplicación Mis Lugares …………………………….. 68
- 1.13.1. La clase Lugar …………………………………………………………………………. 69
- 1.13.2. Tipos enumerados ……………………………………………………………………. 74
- 1.13.3. Las colecciones I ……………………………………………………………………… 76
- 1.13.4. Las colecciones II …………………………………………………………………….. 78
- CAPÍTULO 2. Diseño de la interfaz de usuario: vistas y layouts ……………………….. 81
- 2.1. Creación de una interfaz de usuario por código ………………………………… 82
- 2.2. Creación de una interfaz de usuario usando XML ……………………………… 83
- 2.2.1. Edición visual de las vistas ………………………………………………………… 86
- 2.2.2. Los atributos de las vistas …………………………………………………………. 92
- 2.3. Layouts ………………………………………………………………………………………93
- 2.3.1. Uso de ConstraitLayout …………………………………………………………….. 99
- Uso de escritura derecha a izquierda ……………………………………….. 104
- Posicionamiento Circular ………………………………………………………… 105
- 2.4. Una aplicación de ejemplo: Asteroides …………………………………………… 109
- 2.5. La aplicación Mis Lugares …………………………………………………………….. 111
- 2.6. Recursos alternativos …………………………………………………………………… 114
- 2.7. Tipos de recursos y recursos del sistema ……………………………………….. 119
- 2.7.1. Tipos de recursos …………………………………………………………………… 119
- 2.7.2. Acceso a los recursos …………………………………………………………….. 121
- 2.7.3. Recursos del sistema ……………………………………………………………… 122
- 2.8. Estilos y temas ……………………………………………………………………………. 123
- 2.8.1. Los estilos ……………………………………………………………………………… 123
- Heredar de un estilo propio ……………………………………………………… 124
- 2.8.2. Los temas ……………………………………………………………………………… 125
- 2.9. Uso práctico de vistas y layouts …………………………………………………….. 126
- 2.9.1. Acceder y modificar propiedades de las vistas por código …………… 129
- 2.10. Uso de tabs (pestañas) ………………………………………………………………… 131
- 2.10.1. Evento onClick en un Fragment ……………………………………………….. 137
- Etc...