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.
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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 ?
- 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
- 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
- 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.:
Publicar un comentario