Con la aparición de la nueva generación de teléfonos inteligentes, o smartphones, propiciada por la evolución tecnológica del hardware, Google presenta a finales de 2008 el primer dispositivo móvil con sistema operativo Android. A partir de su lanzamiento, el número de dispositivos vendidos con este sistema operativo crece exponencialmente, comprometiendo significativamente a otros fabricantes como Microsoft, Apple o Nokia.
El presente libro está dirigido a aquellos lectores que quieran iniciarse en el mundo del desarrollo de aplicaciones para Android. Los contenidos, especialmente organizados, se presentan de una forma sencilla, caracterizada por la gran cantidad de recursos gráficos y códigos de ejemplo, que simplificarán la tarea de aprendizaje del lector, haciendo de ésta una labor entretenida y amena.
Al terminar la lectura de este libro habrá adquirido los conocimientos necesarios para:
o Diseñar potentes interfaces de usuario capaces de interactuar con el usuario.
o Diseñar interesantes animaciones que serán los principios básicos para comenzar a desarrollar juegos en Android.
o Manejar las principales funcionalidades de cualquier terminal: recibir y realizar llamadas, mensajes, gestionar contactos, calendarios…
o Gestionar contenidos multimedia. Reproducir y grabar vídeos o sonidos, incluyendo la manipulación de la cámara de fotos.
o Trabajar con los sistemas de geolocalización y otros sensores del terminal.
Como capítulo final de este libro le presentamos los pasos a seguir para publicar sus programas en el marketplace de Google Play, adentrándose así en el lucrativo mercado de aplicaciones para móviles.
INTRODUCCIÓN
CAPÍTULO 1. INTRODUCCIÓN AL JOVEN SISTEMA OPERATIVO ANDROID
1.1 DANDO UN PASEO POR ANDROID
1.2 ARQUITECTURA DEL SISTEMA
1.2.1 Kernel del sistema
1.2.2 Librerías nativas
1.2.3 Runtime: librerías Java
1.2.4 Runtime: máquina virtual Dalvik
1.2.5 Framework de aplicaciones
1.2.6 Aplicaciones
CAPÍTULO 2. ENTORNO DE DESARROLLO DE APLICACIONES
2.1 INSTALANDO ECLIPSE Y ANDROID DEVELOPMENT TOOLS
2.2 MI PRIMERA APLICACIÓN ANDROID
2.3 DESPLEGANDO APLICACIONES EN EL EMULADOR DE DISPOSITIVOS ANDROID
2.4 DESPLEGANDO APLICACIONES EN UN ENTORNO REAL
CAPÍTULO 3. INTERFACES DE USUARIO
3.1 DIMENSIONES DE LAS PANTALLAS
3.2 ACTIVIDADES Y LAYOUTS
3.2.1 Ciclo de vida de una actividad
3.2.2 Layouts: organizando los componentes de la pantalla
3.3 COMPONENTES DE LA INTERFAZ (GUI WIDGETS)
3.4 GESTIÓN DE RECURSOS DE LA INTERFAZ
3.4.1 Diferentes layouts para distintas orientaciones de pantalla
3.4.2 Recursos gráficos
3.4.3 Recursos multiidioma
3.5 TEMAS Y ESTILOS
3.6 GESTIÓN DE EVENTOS DE USUARIO
3.6.1 Usando eventos para abrir nuevas pantallas
3.6.2 Eventos Drag&Drog
3.6.3 Gestures
3.7 MENÚS CONTEXTUALES Y BARRA DE ACCIONES
3.8 WIDGET
CAPÍTULO 4. GRÁFICOS Y ANIMACIONES4.1 GRÁFICOS 2D
4.1.1 Dibujando formas básicas
4.1.2 Aplicando movimiento a los objetos
4.1.3 Objetos tipo Drawable: imágenes, formas, efectos, fondos y animaciones
4.2 INTRODUCCIÓN A LOS GRÁFICOS 3D
CAPÍTULO 5. SERVICIOS EN SEGUNDO PLANO
5.1 CICLO DE VIDA DE LOS SERVICIOS
5.2 CREANDO UN SERVICIO
5.3 HILOS Y TAREAS ASÍNCRONAS Y PERIÓDICAS
5.3.1 Ejecutando Threads en el servicio
5.3.2 Tareas asíncronas en los servicios
5.3.3 Tareas periódicas en los servicios
5.4 CONECTÁNDOSE A UN SERVICIO
5.5 SERVICIOS SIMPLIFICADOS MEDIANTE INTENTSERVICE
CAPÍTULO 6. SEGURIDAD Y PERMISOS
6.1 SEGURIDAD A NIVEL DE SISTEMA OPERATIVO
6.2 PERMISOS DE APLICACIÓN, ¿QUÉ ES LO QUE YO PUEDO HACER?
6.3 PERMISOS SOBRE MI APLICACIÓN, ¿QUÉ PUEDEN HACER CONMIGO?
CAPÍTULO 7. INTENTS: CONECTANDO LOS COMPONENTES DEL SISTEMA
7.1 INTENTS EXPLÍCITOS
7.1.1 Invocando actividades explícitamente
7.1.2 Invocando servicios explícitamente
7.1.3 Invocando receptores explícitamente (Broadcast Receivers)
7.2 INTENTS IMPLÍCITOS
7.2.1 Realizando llamadas telefónicas
7.2.2 Enviando SMS
7.2.3 Lanzando el navegador Web y realizando búsquedas
7.3 FILTROS INTENTCAPÍTULO 8. GESTIONANDO DATOS
8.1 PREFERENCIAS
8.1.1 Diseñando la interfaz gráfica de preferencias
8.1.2 Mostrando la interfaz gráfica de preferencias
8.1.3 Recogiendo las preferencias guardadas por el usuario
8.2 SISTEMA DE FICHEROS
8.2.1 Memoria interna del dispositivo
8.2.2 Memoria externa del dispositivo
8.3 SQLITE COMO MOTOR DE BASE DE DATOS
8.3.1 Arquitectura de SQLite
8.3.2 Mi base de datos SQLite
8.4 PROVEEDORES DE CONTENIDOS
8.4.1 Browser
8.4.2 Contactos y social API
8.4.3 Calendarios
8.4.4 Álbumes multimedia
8.4.5 Histórico de llamadas
8.4.6 Crear proveedores de contenidos
CAPÍTULO 9. RECEPTORES, NOTIFICACIONES Y ALARMAS
9.1 RECEPTORES: BROADCAST RECEIVERS
9.1.1 Detectando llamadas entrantes
9.1.2 Recepción de SMS
9.1.3 Envío de mensajes broadcast propios
9.2 NOTIFICACIONES
9.3 ALARMAS
CAPÍTULO 10. MANEJANDO RECURSOS MULTIMEDIA
10.1 REPRODUCTOR MULTIMEDIA
10.1.1 Reproducción directa de música
10.1.2 Reproducción directa de vídeo
10.1.3 Reproductor multimedia como servicio
10.2 CAPTURANDO IMÁGENES, AUDIO Y VÍDEO
10.2.1 Grabadora de sonidos
10.2.2 Cámara de fotos
10.2.3 Cámara de vídeo
10.3 RECONOCIMIENTO FACIAL
10.4 REPRODUCIR SONIDOS DE FONDO
CAPÍTULO 11. SISTEMAS DE POSICIONAMIENTO Y LOCALIZACIÓN
11.1 API DE LOCALIZACIÓN
11.2 API DE GOOGLE MAPS
11.2.1 Obtener la clave para utilizar el servicio de mapas
11.2.2 Entorno de desarrollo sobre Google APIs
11.2.3 Mi primera aplicación con Google Maps
CAPÍTULO 12. SENSORES INTEGRADOS EN EL DISPOSITIVO
12.1 CONOCIENDO EL FRAMEWORK DE SENSORES
12.2 TIPOS DE SENSORES SOPORTADOS
12.3 ENTENDIENDO LAS UNIDADES DE MEDIDA DE LOS SENSORES
12.4 RECIBIENDO LECTURAS DE LOS SENSORES
CAPÍTULO 13. CONECTANDO CON EL MUNDO EXTERIOR
13.1 CONEXIONES DE RED
13.1.1 Gestionando redes WI-FI
13.1.2 Transferencia de datos HTTP
13.2 CONEXIONES DIRECTAS ENTRE TERMINALES
13.2.1 Bluetooth
13.2.2 WI-FI Direct
13.2.3 Near Field Communication
CAPÍTULO 14. DISTRIBUYENDO APLICACIONES EN GOOGLE PLAY
14.1 REGISTRARSE COMO DESARROLLADOR EN GOOGLE PLAY
14.2 EMPAQUETAR UNA APLICACIÓN
14.3 PUBLICAR UNA APLICACIÓN
ÍNDICE ALFABÉTICO