lunes, 15 de diciembre de 2014

Guía de desarrollo de aplicaciones para Smartphones y Tabletas, Sylvain Hébuterne y Sébastien Pérochon (2a Edición)

Verdadera guía de aprendizaje, este libro acompaña al lector en el desarrollo de aplicaciones Android para Smartphones y Tabletas táctiles. Está dirigido a aquellos desarrolladores que posean unos conocimientos mínimos sobre programación orientada a objetos, lenguaje Java y entornos de desarrollo integrados como Eclipse o Android Studio, y cubre todas las versiones de Android, hasta la versión 4.4 inclusive.
 


Contenido
Prólogo

  • 1. Introducción
  • 2. A quién se dirige este libro
  • 3. Conocimientos previos necesarios para abordar este libro
  • 4. Objetivos a alcanzar
  • 5. Descarga
  • 6. Información complementaria
  • 7. Recursos
El universo Android

  • 1. Introducción
  • 2. Presentación de Android
  • 2.1 Open Handset Alliance TM
  • 2.2 Historia
  • 2.3 Versiones de Android
  • 2.3.1 Cronología de versiones
  • 2.3.2 Reparto de las distribuciones Android
  • 2.4 Arquitectura
  • 3. Entorno de desarrollo
  • 3.1 Requisitos previos
  • 3.2 Eclipse y el Plug-in ADT
  • 4. Instalación de Android Studio
Primeros pasos

  • 1. Primer proyecto Android
  • 1.1 Creación del proyecto
  • 1.2 Ejecución de la aplicación
  • 1.2.1 En el emulador Android
  • 1.2.2 En un dispositivo Android
  • 2. Estructura de un proyecto Android
  • 2.1 El manifiesto
  • 2.1.1 Etiqueta manifest
  • 2.1.2 Etiquetas uses-sdk
  • 2.1.3 Etiqueta application
  • 2.2 Los recursos
Descubrir la interfaz de usuario

  • 1. Introducción
  • 2. Pantallas
  • 3. Actividades y Layout
  • 4. Modo programático y modo declarativo
  • 5. Vistas
  • 6. Layouts
  • 6.1 Creación en modo declarativo
  • 6.2 Creación en modo programático
  • 7. Widgets
  • 7.1 Declaración
  • 7.2 Uso
  • 7.3 Descubrir algunos widgets
  • 7.3.1 TextView (campo de texto)
  • 7.3.2 EditText (campo para introducir texto)
  • 7.3.3 Button (Botón)
  • 7.3.4 Otros widgets
Los fundamentos

  • 1. Introducción
  • 2. Intención
  • 2.1 Intención explícita
  • 2.2 Intención implícita
  • 2.2.1 Creación
  • 2.2.2 Filtro de intención
  • 2.3 Intención pendiente
  • 3. Actividad
  • 3.1 Declaración
  • 3.2 Ciclo de vida
  • 3.2.1 onCreate
  • 3.2.2 onStart
  • 3.2.3 onResume
  • 3.2.4 onPause
  • 3.2.5 onStop
  • 3.2.6 onRestart
  • 3.2.7 onDestroy
  • 3.3 Ejecución
  • 3.4 Salvaguarda y restauración del estado
  • 3.5 Pila de actividades
Completar la interfaz de usuario

  • 1. Introducción
  • 2. Estilos y temas
  • 3. Menús
  • 3.1 Declaración
  • 3.2 Uso
  • 3.3 Menú de actividad
  • 3.3.1 Creación
  • 3.3.2 Uso
  • 3.4 Menú contextual
  • 3.4.1 Creación
  • 3.4.2 Uso
  • 4. Barra de acción
  • 4.1 Opciones de menú
  • 4.2 Icono de la aplicación
  • 5. Notificaciones
  • 5.1 Toast
  • 5.2 Caja de diálogo
  • 5.2.1 Generalidades
  • 5.2.2 Caja de diálogo de alerta
  • 5.3 Barra de notificación
  • 5.3.1 Creación de una notificación
  • 5.3.2 Envío de una notificación
  • 6. Internacionalización
Componentes principales de la aplicación

  • 1. Introducción
  • 2. Fragmento
  • 2.1 Integración del fragmento
  • 2.1.1 Modo declarativo
  • 2.1.2 Modo programático
  • 2.2 Fragmentos y representación adaptativa
  • 2.3 Ciclo de vida
  • 2.3.1 onAttach
  • 2.3.2 onCreateView
  • 2.3.3 onActivityCreated
  • 2.3.4 onDestroyView
  • 2.3.5 onDetach
  • 2.4 Salvaguarda y restauración del estado
  • 2.5 Pila de fragmentos
  • 3. Servicio
  • 3.1 Declaración
  • 3.2 Uso directo
  • 3.3 Uso estableciendo una conexión
  • 3.4 Ciclo de vida
  • 3.4.1 onCreate
  • 3.4.2 onStartCommand
  • 3.4.3 onBind
  • 3.4.4 onUnbind
  • 3.4.5 onDestroy
  • 4. Receptor de eventos
  • 4.1 Evento
  • 4.2 Declaración
  • 4.3 Ciclo de vida
  • 5. Lista
  • 5.1 Implementación estándar
  • 5.1.1 Layout de los elementos de la lista
  • 5.1.2 Adaptadores
  • 5.1.3 Implementación
  • 5.2 Implementación específica
  • 5.2.1 Layout de los elementos de la lista
  • 5.2.2 Adaptador
  • 5.3 Selección de un elemento
La persistencia de los datos

  • 1. Introducción
  • 2. Archivos de preferencias
  • 2.1 Preparar el archivo
  • 2.2 Lectura
  • 2.3 Escritura
  • 2.4 Borrado
  • 3. Archivos
  • 3.1 Almacenamiento interno
  • 3.1.1 Escritura
  • 3.1.2 Lectura
  • 3.1.3 Eliminar un archivo
  • 3.2 Almacenamiento externo
  • 3.2.1 Disponibilidad del soporte
  • 3.2.2 Accesos y ubicaciones
  • 3.2.3 Archivos comunes
  • 3.3 Archivos temporales
  • 3.3.1 Almacenamiento interno
  • 3.3.2 Almacenamiento externo
  • 4. Bases de datos SQLite
  • 4.1 Creación de una base de datos
  • 4.2 Procedimientos y consultas SQL
  • 4.2.1 Navegar los resultados
  • 4.2.2 Lectura de datos
  • 4.3 Actualizaciones
  • 5. Proveedor de contenidos
  • 5.1 Interfaz y URI
  • 5.2 Consultas
  • 5.3 Agregar un registro
  • 5.4 Borrado de registros
  • 6. Copia de seguridad en la nube
  • 6.1 Suscribirse a Android Backup Service
  • 6.2 Configuración de la clave
  • 6.3 Agente de copia de seguridad
  • 6.3.1 Configuración
  • 6.3.2 BackupAgentHelper
  • 6.4 Gestor de copia de seguridad
  • 6.4.1 Solicitar una copia de seguridad
  • 6.4.2 Probar el servicio
Construir interfaces complejas

  • 1. Introducción
  • 2. Crear sus propios componentes
  • 2.1 Sobrecargar un componente existente
  • 2.1.1 Extender una clase del paquete android.widget
  • 2.1.2 Integrar el nuevo componente en un layout
  • 2.1.3 Agregar atributos personalizados
  • 2.2 Reunir un conjunto de componentes
  • 2.3 Construir completamente un componente
  • 2.3.1 Implementar onDraw()
  • 2.3.2 Implementar onMeasure()
  • 2.3.3 Obtener las dimensiones de la pantalla
  • 3. Utilizar el Navigation Drawer
  • 3.1 Implementar el panel de navegación
  • 3.2 Usar el panel de navegación
  • 3.2.1 Detectar los eventos de apertura/cierre
  • 3.2.2 Navigation Drawer y ActionBar
  • 3.2.3 Integrar el botón de apertura/cierre
  • 3.2.4 Forzar la apertura del panel cuando se inicia la actividad
  • 4. Crear imágenes redimensionables
  • 4.1 Las imágenes 9-patch
  • 4.1.1 Presentación
  • 4.1.2 Crear imágenes 9-patch
  • 4.2 Los drawables XML
  • 4.2.1 Definir una forma en XML
  • 4.2.2 Modificar la forma inicial
  • 4.2.3 Combinar varias formas
  • 5. Representación en pantalla compleja
  • 5.1 Seleccionar el layout
  • 5.2 Posicionamiento relativo
  • 5.3 Superposición de vistas
  • 5.4 Un último detalle
Concurrencia, seguridad y red

  • 1. Introducción
  • 2. Procesos
  • 2.1 android:process
  • 2.2 Compartición de proceso
  • 3. Programación concurrente
  • 3.1 AsyncTask
  • 3.2 Thread
  • 3.2.1 Creación
  • 3.2.2 runOnUIThread
  • 3.2.3 Comunicación interthread
  • 4. Seguridad y permisos
  • 4.1 Declaración de los permisos
  • 4.2 Restricción de uso
  • 5. Red
  • 5.1 Agente usuario
  • 5.2 AndroidHttpClient
Redes sociales

  • 1. Introducción
  • 2. Integración estándar
  • 2.1 Con Android 2.x y 3.x
  • 2.2 Con Android 4.x
  • 3. Integración completa
  • 3.1 Obtener las claves de API
  • 3.1.1 Crear una aplicación Facebook
  • 3.1.2 Otras redes sociales
  • 3.2 Instalar el SDK SocialAuth-Android
  • 3.2.1 Integración de las librerías con el proyecto
  • 3.2.2 Uso de la API
Trazas, depuración y pruebas

  • 1. Introducción
  • 2. Registro de eventos
  • 2.1 Consultar los eventos
  • 2.2 Escribir eventos
  • 3. Depuración
  • 3.1 Depuración paso a paso
  • 3.2 DDMS
  • 3.2.1 Vista Devices
  • 3.2.2 Vista Emulator Control
  • 3.2.3 Vista Threads
  • 3.2.4 Vista Heap
  • 3.2.5 Vista Allocation Tracker
  • 3.2.6 Vista File Explorer
  • 4. Pruebas unitarias y funcionales
  • 4.1 Creación de un proyecto de pruebas
  • 4.2 Creación de una clase de caso de prueba
  • 4.2.1 Probar una actividad
  • 4.2.2 Probar un servicio
  • 4.2.3 Probar un receptor de eventos
  • 4.3 Ejecución de las pruebas
  • 5. Prueba del mono
Publicar una aplicación

  • 1. Introducción
  • 2. Preliminares
  • 2.1 Versión de la aplicación
  • 2.1.1 android:versionCode
  • 2.1.2 android:versionName
  • 2.2 Filtros para el mercado
  • 2.2.1 uses-feature
  • 2.2.2 uses-configuration
  • 3. Firma digital de la aplicación
  • 3.1 Compilación en modo debug
  • 3.2 Compilación en modo release
  • 3.2.1 Protección del código
  • 3.2.2 Firmar la aplicación
  • 3.2.3 Instalar la aplicación
  • 4. Publicación de la aplicación en Play Store
  • 4.1 Inscripción
  • 4.2 Publicación
  • 4.2.1 Archivo .apk
  • 4.2.2 Ficha en Google Play Store
  • 4.2.3 Tarifas y disponibilidad
  • 4.2.4 Coordenadas
  • 4.2.5 Aceptar
  • 4.3 ¿ Y después ?
Sensores y geolocalización

  • 1. Introducción
  • 2. Fundamentos
  • 3. Detectar un sensor
  • 4. Obtener los valores
  • 5. Localización geográfica
  • 5.1 Permisos
  • 5.2 Gestor de localización
  • 5.3 Recuperar los datos de localización
  • 5.3.1 En caché
  • 5.3.2 Una sola vez
  • 5.3.3 Periódicamente
  • 5.3.4 Detener las actualizaciones
  • 6. Google Maps
  • 6.1 Implementación
  • 6.1.1 Instalación del SDK
  • 6.1.2 Configuración de la aplicación
  • 6.1.3 Obtener una clave de uso
  • 6.2 Uso
  • 6.2.1 Declaración de la vista
  • 6.2.2 MapActivity
  • 6.2.3 Geolocalización
La tecnología NFC

  • 1. Introducción
  • 2. La tecnología NFC
  • 2.1 Los escenarios de uso de NFC
  • 2.2 Los tags NFC
  • 3. Compatibilidad con NFC
  • 3.1 Usar con un emulador
  • 3.2 Detectar si el dispositivo es compatible con NFC
  • 3.2.1 Filtrado por dispositivo
  • 3.2.2 Comprobación en tiempo de ejecución
  • 3.2.3 Activación por el usuario
  • 4. Descubrir un tag NFC
  • 4.1 Compatibilidad con una intención ACTION_NDEF_DISCOVERED
  • 4.2 Compatibilidad con una intención ACTION_TECH_DISCOVERED
  • 4.3 Compatibilidad con una intención ACTION_TAG_DISCOVERED
  • 4.4 Android Application Records
  • 4.5 Foreground dispatch
  • 5. Leer un tag NFC
  • 5.1 Determinar el contenido de un tag NDEF
  • 5.2 Leer una URI
  • 5.3 Leer una cadena de caracteres
  • 5.4 Leer un tipo MIME
  • 5.5 Leer un tag de tipo TNF_WELL_KNOWN
  • 6. Escribir un tag NFC
  • 6.1 Definir un registro NdefRecord con la API 9
  • 6.1.1 Contruir un payload de tipo texto
  • 6.1.2 Construir un payload de tipo URI
  • 6.2 Definir un registro NdefRecord con las API 14 y 16
Funcionalidades avanzadas

  • 1. Introducción
  • 2. App Widget
  • 2.1 Creación
  • 2.2 Declaración
  • 2.3 Configuración
  • 2.4 Ciclo de vida
  • 2.4.1 onEnabled
  • 2.4.2 onDisabled
  • 2.4.3 onUpdate
  • 2.4.4 onDeleted
  • 2.5 RemoteViews
  • 2.6 Actividad de configuración
  • 2.6.1 Declaración
  • 2.6.2 Creación
  • 3. Proteger las aplicaciones de pago
  • 3.1 Instalación de la LVL
  • 3.1.1 Descarga
  • 3.1.2 Integración de la LVL en el código fuente
  • 3.1.3 Integración de la LVL como librería
  • 3.2 Uso de la LVL
  • 3.2.1 Política
  • 3.2.2 Ofuscación
  • 3.2.3 Verificación de la licencia
  • 3.3 Probar
  • 3.3.1 Probar sobre un dispositivo Android
  • 3.3.2 Probar sobre un emulador
  • 4. Proponer compras integradas
  • 4.1 Preparación
  • 4.2 Uso del pago integrado
  • 4.2.1 Iniciar la comunicación con Play Store
  • 4.2.2 Obtener la lista de productos
  • 4.2.3 Comprobar que un producto se ha solicitado
  • 4.2.4 Solicitar un producto
  • índice
  •  


 

No hay comentarios.: