Tipo: Libro impreso / Print book
Encuadernación / Binding: Tapa blanda / Paperback
Tamaño / Size: 17 x 23 cm
Páginas / Pages: 584
Resumen / Summary:
Autor / Author: Jesús Tomás
Editorial / Publisher: Alfaomega
Entrega / Delivery : Nacional / International
Envio desde / Ships from: Colombia
Condición / Condition: Nuevo / New
Tabla de contenido / Table of contents: Lista de siglas y acrónimos
¿Cómo leer este libro?
CAPÍTULO 1. Visión general y entorno de desarrollo
1.1. ¿Qué hace que Android sea especial?
1.2. Los orígenes
1.3. Comparativa con otras plataformas
1.4. Arquitectura de Android
1.4.1. El núcleo Linux
1.4.2. Runtime de Android
1.4.3. Librerías nativas
1.4.4. Entorno de aplicación
1.4.5. Aplicaciones
1.5. Instalación del entorno de desarrollo
1.5.1. Instalación de la máquina virtual Java
1.5.2. Instalación de Android Studio
1.5.3. Instalación de Eclipse y plug-in ADT
1.5.4. Creación de un dispositivo virtual Android (AVD)
1.5.5. El emulado Genymotion
1.6. Las versiones de Android y niveles de API
1.6.1. Las primeras versiones
1.6.2. Cupcake
1.6.3. Donut
1.6.4. Éclair
1.6.5. Froyo
1.6.6. Gingerbread
1.6.7. Honeycomb
1.6.8. Ice Cream Sandwich
1.6.9. Jelly Bean
1.6.10.KitKat
Android 4.4 Nivel de API 19 (octubre 2013)
1.6.11.Lollipop
1.6.12.Android Marshmallow
1.6.13.Elección de la plataforma de desarrollo
1.6.14.Las librerías de compatibilidad (support library)
1.7. Creación de un primer programa
1.8. Ejecución del programa
1.8.1. Ejecución en el emulador
1.8.2. Ejecución en un terminal real
1.9. Ficheros y carpetas de un proyecto Android
1.10. Componentes de una aplicación
1.10.1.Vista (View)
1.10.2.Layout
1.10.3.Actividad (Activity)
1.10.4.Servicio (Service)
1.10.5.Intención (Intent)
1.10.6.Fragment
1.10.7.Receptor de anuncios (Broadcast Receiver)
1.10.8.Proveedores de contenido (Content Provider)
1.11. Documentación y aplicaciones de ejemplo
1.11.1.Dónde encontrar documentación
1.11.2.La aplicación ApiDemos
1.11.3.Repositorio de ejemplos en GitHub
1.12. Depurar
1.12.1.Depurar con el entorno de desarrollo
1.12.2.Depurar con mensajes Log
1.13. Repaso de Java y la aplicación Mis Lugares
1.13.1.La clase Lugar
1.13.2.Tipos enumerados en Java
8
1.13.3.Las colecciones en Java
CAPÍTULO 2. Diseño de la interfaz de usuario: vistas y layouts
2.1. Creación de una interfaz de usuario por código
2.2. Creación de una interfaz de usuario usando XML
2.2.1. Edición visual de las vistas
2.2.2. Los atributos de las vistas
2.3. Layouts
2.4. Una aplicación de ejemplo: Asteroides
2.5. La aplicación: Mis Lugares
2.6. Recursos alternativos
2.7. Tipos de recursos y recursos del sistema
2.7.1. Tipos de recursos
2.7.2. Acceso a los recursos
2.7.3. Recursos del sistema
2.8. Estilos y temas
2.8.1. Los estilos
Heredar de un estilo propio
2.8.2. Los temas
2.9. Uso práctico de vistas y layouts
2.9.1. Acceder y modificar las propiedades de las vistas por código
2.10. Uso de tabs (pestañas)
CAPÍTULO 3. Actividades e intenciones
3.1. Creación de nuevas actividades
3.2. Comunicación entre actividades
3.3. Añadiendo un menú a una actividad
3.4. La barra de acciones (ActionBar)
3.5. Creando actividades en Mis Lugares
3.5.1. Creando la actividad Vista Lugar de Mis Lugares
3.5.2. Creando la actividad Edicion Lugar de Mis Lugares
3.6. Creación y uso de iconos
3.7. Añadiendo preferencias de usuario
3.7.1. Utilizando Preference Fragment
3.7.2. Organizando preferencias
3.7.3. Cómo se almacenan las preferencias de usuario
3.7.4. Accediendo a los valores de las preferencias
3.8. Añadiendo una lista de puntaciones en Asteroides
3.9. La vista ListView
3.9.1. Un ListView que visualiza una lista de strings
3.9.2. Un ListView que visualiza layouts personalizados
3.9.3. Un ListView con nuestro propio adaptador
3.9.4. Detectar una pulsación sobre un elemento de la lista
3.10. Las intenciones
3.10.1.Añadiendo fotografías en Mis Lugares
Cargar fotografías grandes de forma eficiente
3.10.2.La etiqueta
CAPÍTULO 4. Gráficos en Android
4.1. Clases para gráficos en Android
4.1.1. Canvas
4.1.2. Paint
Definición de colores
4.1.3. Path
4.1.4. Drawable
BitmapDrawable
GradientDrawable
TransitionDrawable
ShapeDrawable
AnimationDrawable
4.2. Creación de una vista en un fichero independiente
4.3. Creando la actividad principal de Asteroides
4.3.1. La clase Gráfico
4.3.2. La clase VistaJuego
4.3.3. Introduciendo la nave en VistaJuego
10
4.4. Representación de gráficos vectoriales en Asteroides
4.5. Animaciones
4.5.1. Animaciones de vistas
4.5.2. Animaciones de propiedades
CAPÍTULO 5. Hilos de ejecución, pantalla táctil y sensores
5.1. Uso de hilos de ejecución (threads)
5.1.1. Introducción a los procesos e hilos de ejecución
5.1.2. Hilos de ejecución en Android
5.1.3. Creación de nuevos hilos con la clase Thread
5.1.4. Introduciendo movimiento en Asteroides
5.1.5. Ejecutar una tarea en un nuevo hilo con AsyncTask
5.1.6. Mostrar un cuadro de progreso en un AsyncTask
5.1.7. El método get() de AsyncTask
5.2. Manejando eventos de usuario
5.2.1. Escuchador de eventos de la clase View
5.2.2. Manejadores de eventos
5.3. El teclado
5.4. La pantalla táctil
5.4.1. Manejo de la pantalla táctil multi-touch
5.4.2. Manejo de la nave con la pantalla táctil
5.5. Gestures
5.5.1. Creación y uso de una librería de gestures
5.5.2. Añadiendo gestures a Asteroides
5.6. Los sensores
5.6.1. Un programa que muestra los sensores disponibles y sus valores en tiempo real
5.6.2. Utilización de los sensores en Asteroides
5.7. Introduciendo un misil en Asteroides
CAPÍTULO 6. Multimedia y ciclo de vida de una actividad
6.1. Ciclo de vida de una actividad
6.1.1. ¿Qué proceso se elimina?
El gran libro de Android
6.1.2. Guardando el estado de una actividad
6.2. Utilizando multimedia en Android
6.3. La vista VideoView
6.4. La clase MediaPlayer
6.4.1. Reproducción de audio con MediaPlayer
6.5. Un reproductor multimedia paso a paso
6.6. Introduciendo efectos de audio con SoundPool
6.7. Grabación de audio
CAPÍTULO 7. Seguridad y posicionamiento
7.1. Los tres pilares de la seguridad en Android
7.1.1. Usuario Linux y acceso a ficheros
7.1.2. El esquema de permisos en Android
7.1.3. Permisos en Android 6 Marshmallow
7.1.4. Permisos definidos por el programador en Android
7.2. Localización
7.2.1. Sistemas de geolocalización en dispositivos móviles
7.2.2. La API de localización de Android
7.2.3. Emulación del GPS con Android Studio
7.2.4. Estrategias para escoger un proveedor de localización
7.3. Google Maps (API v2)
7.3.1. Obtención de una clave Google Maps
7.4. Fragmentando los asteroides
CAPÍTULO 8. Servicios, notificaciones y receptores de anuncios
8.1. Introducción a los servicios en Android
8.1.1. Ciclo de vida de un servicio
8.1.2. Permisos
8.2. Un servicio para ejecución en segundo plano
8.2.1. El método onStartCommand()
8.3. Un servicio en un nuevo hilo con IntentService
8.3.1. La clase IntentService
8.4. Las notificaciones de la barra de estado
12
8.4.1. Configurando tipos de avisos en las notificaciones
Asociar un sonido
Añadiendo vibración
Añadiendo parpadeo de LED
8.5. Receptores de anuncios
8.5.1. Receptor de anuncios registrado en AndroidManifest.xml
8.5.2. Arrancar una actividad en una nueva tarea desde un receptor de anuncio
8.5.3. Arrancar un servicio tras cargar el sistema operativo
8.5.4. Anuncios broadcast permanentes
8.6. Un receptor de anuncios como mecanismo de comunicación
8.7. Un servicio como mecanismo de comunicación entre aplicaciones
8.7.1. Crear la interfaz en AIDL
8.7.2. Implementar la interfaz
8.7.3. Publicar la interfaz en un servicio
8.7.4. Llamar a una interfaz remota
CAPÍTULO 9. Almacenamiento de datos
9.1. Alternativas para guardar datos permanentemente en Android
9.2. Añadiendo puntuaciones en Asteroides
9.3. Preferencias
9.4. Accediendo a ficheros
9.4.1. Sistema interno de ficheros
9.4.2. Sistema de almacenamiento externo
Verificando acceso a la memoria externa
Almacenando ficheros específicos de tu aplicación en el almacenamiento externo
Almacenando ficheros compartidos en el almacenamiento externo
Almacenamiento externo con varias unidades
9.4.3. Acceder a un fichero de los recursos
9.5. Trabajando con XML
9.5.1. Procesando XML con SAX
9.5.2. Procesando XML con DOM
13
Contenido
El gran libro de Android
9.6. Bases de datos
9.6.1. Los métodos query() y rawQuery()
9.6.2. Uso de bases de datos en Mis Lugares
9.6.3. Adaptadores para bases de datos
Operaciones con bases de datos en Mis Lugares
Loaders y LoaderManager
9.6.4. Bases de datos relacionales
9.6.5. El método onUpgrade de la clase SQLiteOpenHelper
9.7. Content Provider
9.7.1. Conceptos básicos
El modelo de datos
Las URI
9.7.2. Acceder a la información de un ContentProvider
Leer información de un ContentProvider
Escribir información en un ContentProvider
Borrar y modificar elementos de un ContentProvider
9.7.3. Creación de un ContentProvider
Definir la estructura de almacenamiento del ContentProvider
Extendiendo la clase ContentProvider
Declarar el ContentProvider en AndroidManifest.xml
9.7.4. Acceso a PuntuacionesProvider desde Asteroides
CAPÍTULO 10. Internet: sockets, HTTP y servicios web
10.1. Comunicaciones en Internet mediante sockets
10.1.1.La arquitectura cliente/servidor
10.1.2.¿Qué es un socket?
Sockets stream (TCP)
Sockets datagram (UDP)
10.1.3.Un ejemplo de un cliente/servidor de ECHO
10.1.4.Un servidor por sockets para las puntuaciones
10.2. La web y el protocolo HTTP
10.2.1.El protocolo HTTP
14
10.2.2.Versión 1.0 del protocolo HTTP
10.2.3.Utilizando HTTP desde Android
10.2.4.Uso de HTTP con AsyncTask
10.3. Servicios web
10.3.1.Alternativas en los servicios web
Servicios web basados en SOAP
Servicios web basados en REST
10.3.2.Acceso a servicios web de terceros
10.3.3.Un servicio web con Apache, PHP y MySQL
Utilizando el servicio web PHP desde Asteroides
Creación de un servicio web en un servidor de hosting
Utilizando AsyncTask de forma síncrona
10.3.4.Comparativa sockets / servicios web
CAPÍTULO 11. Publicar aplicaciones
11.1. Preparar y testear tu aplicación
11.1.1.Preparar la aplicación para distintos tipos de dispositivo
11.1.2.Testear la aplicación
11.2. Crear un certificado digital y firmar la aplicación
11.3. Publicar la aplicación
11.3.1.Publicar en Internet
11.3.2.Publicar en Google Play Store
11.4. Añadiendo publicidad en tu aplicación con AdMob
11.5. Asteroides: mostrar victoria y derrota
ANEXO A. Fragments
ANEXO B. Diálogos de fecha y hora
Clases para trabajar con fechas en Java
ANEXO C. Referencia Java
ANEXO D. Referencia de la clase View y sus descendientes
ANEXO E. Sufijos utilizados en recursos alternativos