Este libro se dirige a desarrolladores, incluso noveles, que deseen conocer y dominar el desarrollo de aplicaciones Java en Android 4 (en versiones 4.0 – alias Ice Cream Sandwich – y 4.1 – alias Jelly Bean – en el momento de su edición). Para su lectura, se requieren conocimientos básicos en programación Java y en el uso de XML pero ningún requisito particular sobre Android.
Después de una presentación de la plataforma Android y de sus principios específicos de programación, aprenderá a instalar y configurar el entorno de desarrollo. A continuación, irá avanzando de forma gradual para conocer todos los elementos esenciales para la creación de aplicaciones Android. De este modo, aprenderá a crear interfaces cada vez más complejas (layouts, recursos, ActionBar, menús, listas, popups, webview, etc.), a gestionar la navegación y la comunicación entre las distintas interfaces de una aplicación o entre varias aplicaciones. Descubrirá los métodos de creación de interfaces personalizadas (gestión de temas, animaciones y fuentes) así como la gestión de los diferentes eventos de usuario (clic, rotación, etc.). Aprenderá a optimizar el código de la aplicación, sus interfaces y a gestionar la fragmentación de la plataforma (versiones de Android, tamaño y resolución de pantallas, diferencias en el hardware, etc.). Verá cómo obtener datos básicos para una aplicación (webservices, gestión de la conectividad, parsing Xml / Json), cómo almacenarlos (sharedPreferences, archivos, base de datos SQLite) y cómo compartirlos con otras aplicaciones (ContentProvider, Intent, etc.). Igualmente, podrá crear e interactuar con mapas (Google Maps, localización, conversión posición/dirección).
Finalmente, aprenderá a gestionar los distintos tratamientos e interacciones realizados en una aplicación y a identificar los que se deben ejecutar como tareas en segundo plano (AsyncTask, Thread, Service, Broadcast Receiver, Widget, etc.) así como los métodos de acceso a las diferentes funcionalidades de un dispositivo Android (llamadas, sms, cámara, acelerómetro, sensor magnético, Bluetooth, TTS, NFC, etc.).