Agradecimientos
Índice de contenidos
Prólogo
Prefacio
Introducción
El público
Estructura
Parte I: Fundamentos
Parte II: El entorno de programación
Parte III: Combinar todas las piezas
Parte IV: Apéndices
Convenciones
Código fuente
Requisitos de software
Parte I. Introducción a Android
1. Android
Presentación de Android
La plataforma Android
El mercado de Android
Operadores móviles
Android frente a teléfonos tradicionales
Android y teléfonos inteligentes
Android frente a Android
Licencias de Android
Componentes de Android
Los cimientos de Android
El núcleo de Linux
Ejecutar la máquina virtual Dalvik
Iniciar el desarrollo de Android
Objetivos de Android
Activar Android
Activity
Service
BroadcastReceiver
ContentProvider
AndroidManifest.xml
Asignar aplicaciones a procesos
Una aplicación de Android
Resumen
2. Entorno de desarrollo
El SDK de Android
Interfaz de programación de aplicaciones
Paquetes básicos de Android
Paquetes opcionales
Combinar las piezas
Perspectiva Java
Perspectiva DDMS
Herramientas de línea de comandos
Herramienta de compresión de activos de Android
Debug Bridge
Crear una aplicación de Android en Eclipse
APW
Código de la aplicación de Android
Generar la aplicación
El emulador de Android
Skins
Velocidad de red
Perfiles de emulador
Depuración
Resumen
Parte II. Ejecutar el SDK de Android
3. Interfaces de usuario
Crear la actividad
Crear una clase Activity
Explorar el ciclo de vida de las actividades
Relación entre procesos y actividades
Ciclo de vida de las actividades
Trabajar con vistas
Analizar las vistas comunes
Utilizar ListView
Multitarea con Handler y Message
Crear vistas personalizadas
Comprender el diseño
Enfoque
Eventos
Utilizar recursos
Tipos de recursos admitidos
Hacer referencia a recursos en Java
Definir vistas y diseños con recursos XML
Externalizar valores
Animaciones
Comprender el archivo de manifiesto
Resumen
4. Intent y Service
Trabajar con clases Intent
Definir Intent
Resolución de Intent
Acción y categorías
Datos
Comparar un URI personalizado
Utilizar actividades proporcionadas por Android
Escuchar con receptores
Ampliar el concepto de Intent
Crear un receptor
Crear un servicio
Naturaleza dual de un servicio
Crear un servicio de tarea de fondo
Realizar comunicación entre procesos
Lenguaje de definición de interfaces de Android
Mostrar una interfaz remota
Vincularse a un servicio
Iniciar frente a vincular
Ciclo vital de servicios
Ciclo vital de servicios iniciados
Ciclo vital de servicios vinculados
Ciclo vital de servicios iniciados y vinculados
Limpiar al detener un servicio
Binder y Parcelable
Resumen
5. Almacenar y recuperar datos
Utilizar preferencias
Trabajar con SharedPreferences
Permisos de acceso a preferencias
Utilizar el sistema de archivos
Crear archivos
Acceder a archivos
Archivos como recursos sin procesar
Recursos de archivos XML
Almacenamiento externo a través de una tarjeta SD
Almacenar datos en una base de datos
Crear y acceder a una base de datos
Utilizar la herramienta sqlite3
Trabajar con clases ContentProvider
Representaciones URI y manipulación de registros
Consultar datos
Añadir datos
Actualizar datos
Eliminar datos
Crear ContentProvider
Definir Content_Uri y MIME_TYPE
Ampliar ContentProvider
Manifiestos de proveedor
Resumen
6. Redes y servicios Web
Redes
Fundamentos sobre redes
Nodos
Capas y protocolos
IP
TCP y UDP
Protocolos de aplicaciones
Clientes y servidores
Comprobar el estado de la red
Comunicarse con un socket de servidor
Trabajar con HTTP
HTTP y java.net
HTTP con HttpClient
Crear una clase de ayuda HTTP y HTTPS
Servicios Web
POX con HTTP y XML
REST
SOAP o no SOAP, esa es la cuestión
Resumen
7. Telefonía
Información y términos sobre telefonía
Acceder a información sobre telefonía
Recuperar propiedades de telefonía
Obtener información de estado del teléfono
Interactuar con el teléfono
Utilizar Intent para realizar llamadas
Utilidades relacionadas con números de teléfono
Interceptar llamadas
Trabajar con mensajes: SMS
Enviar mensajes SMS
Recibir mensajes SMS
Resumen
8. Notificaciones y alarmas
Presentación de Toast
Introducir notificaciones
Alarmas
Ejemplo de alarma
Resumen
9. Gráficos y animaciones
Dibujar gráficos en Android
Dibujar con XML
Animaciones
Crear una animación mediante programación
Animar recursos
Presentación de OpenGL para sistemas incrustados
Dibujar formas en OpenGL ES
Formas y superficies tridimensionales con OpenGL ES
Resumen
10. Multimedia
Multimedia y OpenCORE
Reproducir audio
Reproducir vídeo
Capturar medios
Comprender la cámara
Capturar audio
Resumen
11. Ubicación
Simular la ubicación en el emulador
Enviar coordenadas con la herramienta DDMS
El formato GPS Exchange
KML de Google Earth
Utilizar LocationManager y LocationProvider
Acceder a datos de ubicación con LocationManager
Utilizar LocationProvider
Recibir actualizaciones de ubicación con LocationListener
Trabajar con mapas
Ampliar MapActivity
Utilizar MapView
Añadir datos a un mapa con Overlay
Convertir lugares y direcciones con Geocoder
Resumen
Parte III. Combinar todas las piezas
12. Combinar las piezas: la aplicación Field Service
Requisitos de la aplicación Field Service
Requisitos básicos
Modelo de datos
Arquitectura e integración de la aplicación
Repaso a la aplicación de Android
Flujo de la aplicación
Mapa del código
AndroidManifest.xml
Código de Android
Actividad Splash
Actividad FieldService, parte I
Clase Prefs
Actividad FieldService, parte II
Parámetros
Estructuras de datos
Descripción XML del trabajo
JobEntry
JobList
JobListHandler
Profundizar en el código
RefreshJobs
ManageJobs
ShowJob
CloseJob
Código del servidor
Interfaz de usuario
Base de datos
Código PHP
Código de integración móvil PHP
Resumen
13. Modificar Android
La fusión Android/Linux
Cadena de herramientas
Crear una aplicación
Instalar y ejecutar la aplicación
Secuencia de comandos de generación
Técnica mejorada
Revisión del indicador static
Vinculación
Salir, no volver
Código de inicio
Qué hora es
Aplicación Daytime Server
daytime.c
La base de datos SQLite
Generar y ejecutar el servidor
Cliente Daytime
Actividad
Cliente
Probar el cliente Daytime
Resumen
Parte IV. Apéndices
Apéndice A. Instalar el SDK de Android
Requisitos del entorno de desarrollo
Obtener e instalar Eclipse
Obtener e instalar el SDK de Android
Obtener e instalar el complemento de Eclipse
Configurar el complemento Eclipse
Apéndice B. Firmar e instalar aplicaciones en un dispositivo de Android
Android Debug Bridge
Firmas digitales
Keytool
Jarsigner
Limpiar para distribución
Elementos del manifiesto: etiquetas, logotipo, versión y nivel SDK
Probar, probar y volver a probar
Acuerdo de licencia de usuario final
Importar y exportar datos
Publicar en Market
Reglas de Market
Envío de aplicaciones a Market
Actualizaciones automáticas de Market
Importancia de Market
Otros medios de distribución