DESARROLLO DE APLICACIONES ANDROID CON JAVA

DESARROLLO DE APLICACIONES ANDROID CON JAVA

Editorial:
EDICIONES DE LA U
Año de edición:
Materia
LENGUAJES PROGRAMACIÓN
ISBN:
978-958-762-686-5
EAN:
9789587626865
Páginas:
434
Encuadernación:
Rústica
Disponibilidad:
ENTREGA INMEDIATA

$ 69.000,00

U$ 22,98 19,53 €

Comprar

Android es el sistema operativo para dispositivos móviles más utilizado en el momento de la publicación de este libro, habiendo experimentado un gran
incremento de usuarios en los últimos años, y extendiéndose no sólo a teléfonos móviles, sino a otros dispositivos como tablets, televisores o videoconsolas, entre otros. Cuenta con un completo SDK que nos permitirá crear aplicaciones que
utilicen todas las funcionalidades y servicios que nos ofrezcan estos dispositivos, y que podremos publicar en Google Play para cualquier tipo de dispositivo Android.

Desarrollo de Aplicaciones para Android con Java nos proporciona una completa guía para la creación de aplicaciones con el SDK nativo de Android, estando
actualizado hasta la versión 7.0 (Nougat) de este sistema operativo. El libro se divide en 22 capítulos donde se estudia, partiendo desde cero, cómo crear
nuestra primera aplicación Android hasta conceptos avanzados como el diseño de interfaces, los fragments, drawables, el uso de estilos y temas, el acceso a los sensores del dispositivo, las pantallas multitouch, los servicios e hilos de ejecución, el almacenamiento de información mediante bases de datos SQLite, preferencias o ficheros, la serialización de datos, o el acceso a la red y a servicios REST.

Los contenidos están organizados para que se puedan seguir paso a paso en el aprendizaje de esta tecnología o para que se puedan utilizar como manual de referencia. Incluye explicaciones sencillas y didácticas con ejemplos completos de código y 60 ejercicios resueltos.

El libro contiene material adicional que podrá descargar accediendo a la ficha del libro en www.ra-ma.es.

SOBRE LOS AUTORES

CAPÍTULO 1. INTRODUCCIÓN A LAS APLICACIONES ANDROID
1.1. HISTORIA DE ANDROID
1.2. APLICACIONES ANDROID
1.2.1. El archivo Manifest
1.2.2. El ciclo de ejecución de una aplicación
1.2.3. Recursos
1.2.4. Actividades
1.3. VERSIONES DE ANDROID Y COMPATIBILIDAD
1.4. EJERCICIOS PROPUESTOS
1.4.1. Ejercicio 1. Aplicaciones y servicios
1.4.2. Ejercicio 2. Versión de Android
1.4.3. Ejercicio 3. Guía de estilo

CAPÍTULO 2. ENTORNO DE DESARROLLO
2.1. NUESTRO PRIMER PROYECTO CON ANDROID STUDIO
2.1.1. Instalación del entorno de desarrollo
2.1.2. Creando un proyecto
2.1.3. Definiendo los recursos de la aplicación
2.1.4. La actividad principal
2.1.5. Probando en un emulador o dispositivo real
2.2. CONSTRUCCIÓN DE PROYECTOS CON GRADLE
2.2.1. Configuración del proyecto Android
2.2.2. Dependencias del proyecto
2.2.3. Interfaz para la edición de las propiedades de Gradle
2.2.4. Librerías de compatibilidad
2.3. EJERCICIOS PROPUESTOS
2.3.1. Ejercicio 1. Creación del proyecto
2.3.2. Ejercicio 2. Probando la aplicación
2.3.3. Ejercicio 3. Añadiendo contenido a la actividad
2.3.4. Ejercicio 4. Internacionalización

CAPÍTULO 3. NAVEGACIÓN ENTRE ACTIVIDADES MEDIANTE INTENTS
3.1. INTENTS
3.1.1. Usar Intents para lanzar actividades
3.1.2. Envío de datos mediante intents
3.1.3. Recuperar la respuesta de subactividades
3.1.4. Responder peticiones de Intents implícitos
3.2. NAVEGACIÓN
3.2.1. El atributo launchmode
3.2.2. Modificar el lanzamiento de actividades mediante Intents
3.2.3. Limpiar la pila de actividades
3.3. ESQUEMAS TÍPICOS DE NAVEGACIÓN
3.3.1. Iniciando una aplicación desde la pantalla inicial de Android
3.3.2. Abandonar una actividad con los botones BACK y HOME
3.4. EJERCICIOS PROPUESTOS
3.4.1. Ejercicio 1. Intents implícitos
3.4.2. Ejercicio 2. Intents explícitos
3.4.3. Ejercicio 3. Paso de parámetros entre actividades
3.4.4. Ejercicio 4. Resultado de la actividad

CAPÍTULO 4. CREACIÓN DE INTERFACES DE USUARIO CON VISTAS Y LAYOUTS
4.1. VISTAS
4.1.1. Crear interfaces de usuario con vistas
4.1.2. Las vistas de Android
4.2. LAYOUTS
4.2.1. Creación de ficheros de layout
4.2.2. Estructura del layout
4.2.3. Layouts creados en código
4.2.4. Optimizar layouts
4.3. USO BÁSICO DE VISTAS Y LAYOUTS
4.3.1. TextView
4.3.2. EditText
4.3.3. Button
4.3.4. CheckBox
4.3.5. RadioButton
4.3.6. Spinner
4.3.7. LinearLayout
4.3.8. TableLayout
4.3.9. RelativeLayout
4.3.10. ScrollView
4.4. INTERFACES INDEPENDIENTES DE DENSIDAD Y RESOLUCIÓN
4.4.1. Múltiples archivos de recursos
4.4.2. Configuraciones de pantalla soportadas
4.4.3. Consejos para conseguir interfaces independientes de la resolución
4.5. CAMBIOS EN LA CONFIGURACIÓN DE LA INTERFAZ
4.5.1. Interfaces alternativas
4.5.2. Guardado de datos
4.5.3. Modo de ventanas múltiples
4.6. EJERCICIOS PROPUESTOS
4.6.1. Ejercicio 1. Interfaz de datos de una película
4.6.2. Ejercicio 2. Interfaz de edición de una película
4.6.3. Ejercicio 3. Independencia del hardware

CAPÍTULO 5. CREACIÓN DE LISTAS
5.1. LISTAS
5.1.1. ListActivity
5.1.2. RecyclerView
5.2. ADAPTADORES
5.2.1. Adaptadores para ListView
5.2.2. Adaptadores para RecyclerView
5.3. CREACIÓN DE LISTAS CON LISTACTIVITY Y LISTVIEW
5.3.1. Listas con layout básico
5.3.2. Listas con layout personalizado
5.3.3. Selección de elementos
5.3.4. Modificando el layout de un ListActivity
5.3.5. Listas vacías
5.3.6. Listas de “deslizar para refrescar”
5.3.7. Creación de un adaptador propio
5.4. CREACIÓN DE LISTAS CON RECYCLERVIEW
5.4.1. Creación de un adaptador para RecyclerView
5.4.2. Layouts para el RecyclerView
5.4.3. Decoración y animaciones
5.4.4. Creación del RecyclerView
5.4.5. Selección de elementos del RecyclerView
5.5. EJERCICIOS PROPUESTOS
5.5.1. Ejercicio 1. Listado de películas básico
5.5.2. Ejercicio 2. Listado de películas con layout propio
5.5.3. Ejercicio 3. Eventos de la lista
5.5.4. Ejercicio 4. Listado de películas con RecyclerView

CAPÍTULO 6. MENÚS Y APP BAR
6.1. MENÚ DE OPCIONES.
6.1.1. Definir el menú de una actividad
6.1.2. Personalizar elementos de menús
6.1.3. Actualización dinámica de opciones
6.1.4. Manejo de la selección de elementos
6.1.5. Submenús
6.1.6. Definiendo menús como recursos
6.2. APP BAR
6.2.1. Botón home
6.2.2. Elementos del menú en la app bar
6.2.3. App Bar y librería de compatibilidad
6.3. ACCIONES CONTEXTUALES
6.3.1. Menús contextuales
6.3.2. Barra contextual
6.4. TOOLBAR
6.4.1. Uso de toolbar como app bar
6.4.2. Gestión de toolbar
6.4.3. Reutilización de toolbar
6.5. EJERCICIOS PROPUESTOS
6.5.1. Ejercicio 1. Opciones del menú
6.5.2. Ejercicio 2. Botón HOME
6.5.3. Ejercicio 3. Borrado múltiple de películas

CAPÍTULO 7. DEPURACIÓN Y PRUEBAS
7.1. DEPURACIÓN CON ANDROID STUDIO
7.1.1. Log y LogCat
7.1.2. Dalvik Debug Monitor Server (DDMS)
7.2. PRUEBAS UNITARIAS CON JUNIT
7.2.1. Configuración de JUnit
7.2.2. Creación de casos de prueba
7.2.3. Ejecución de los tests
7.3. PRUEBAS DE REGRESIÓN CON ROBOTIUM
7.3.1. Configuración de Robotium
7.3.2. Creación de casos de prueba
7.4. PRUEBAS DE ESTRÉS CON MONKEY
7.5. EJERCICIOS PROPUESTOS
7.5.1. Ejercicio 1. Generación de logs
7.5.2. Ejercicio 2. Pruebas de unidad
7.5.3. Ejercicio 3. Pruebas con Monkey

CAPÍTULO 8. INTERFACES UNIVERSALES MEDIANTE FRAGMENTOS
8.1. CREACIÓN DE FRAGMENTOS
8.2. CICLO DE VIDA DE LOS FRAGMENTOS
8.3. AÑADIR UN FRAGMENTO A UNA ACTIVIDAD
8.4. TRANSICIONES ENTRE FRAGMENTOS
8.5. COMUNICACIÓN ENTRE FRAGMENTOS
8.6. MENÚS EN FRAGMENTOS
8.7. FRAGMENTOS Y LIBRERÍAS DE COMPATIBILIDAD
8.8. EJERCICIOS PROPUESTOS
8.8.1. Ejercicio 1. Filmoteca con fragmentos
8.8.2. Ejercicio 2. Transiciones entre fragmentos

CAPÍTULO 9. NOTIFICACIONES
9.1. NOTIFICACIONES TOAST
9.1.1. Uso de las notificaciones Toast
9.1.2. Cambiar la alineación
9.1.3. Personalización del aspecto
9.2. SNACKBAR
9.2.1. Uso de Snackbar
9.2.2. Añadir una acción
9.2.3. Personalización del aspecto.
9.2.4. CoordinatorLayout
9.3. CUADROS DE DIÁLOGO
9.3.1. Construcción de diálogos mediante fragments
9.3.2. Mostrar un diálogo
9.3.3. Comunicación con la actividad
9.3.4. Tipos de diálogo
9.4. NOTIFICACIONES DE LA BARRA DE ESTADO
9.4.1. Crear una notificación
9.4.2. Mostrar una notificación
9.4.3. Actualizar una notificación
9.4.4. Eliminar una notificación
9.4.5. Más opciones de configuración
9.5. EJERCICIOS PROPUESTOS
9.5.1. Ejercicio 1. Notificaciones con Toast
9.5.2. Ejercicio 2. Notificaciones con Snackbar
9.5.3. Ejercicio 3. Diálogos de selección
9.5.4. Ejercicio 4. Notificaciones en la barra de estado

CAPÍTULO 10. ELEMENTOS DRAWABLES
10.1. IMÁGENES
10.1.1. Bitmaps
10.2. IMÁGENES NINE-PATCH
10.2.1. Transformar una imagen a nine-patch
10.3. COLORES
10.4. FORMAS
10.4.1. Uso del elemento shape
10.4.2. Gradientes
10.5. LISTA DE ESTADOS
10.6. LISTA DE NIVELES
10.7. LISTA DE CAPAS
10.8. ANIMACIÓN POR FOTOGRAMAS
10.8.1. Definición programática
10.9. TRANSICIÓN, INSERCIÓN, RECORTE Y ESCALA
10.10. DRAWABLES DESDE JAVA
10.11. EJERCICIOS PROPUESTOS
10.11.1. Ejercicio 1. Personalización del aspecto
10.11.2. Ejercicio 2. Personalización de botones
10.11.3. Ejercicio 3. Animación por fotogramas
10.11.4. Ejercicio 4. Niveles

CAPÍTULO 11. PERSONALIZACIÓN DE COMPONENTES
11.1. EXTENSIÓN DE VISTAS EXISTENTES
11.1.1. Extendiendo la funcionalidad de un TextView
11.1.2. Incluir un componente personalizado en una actividad
11.2. COMPONENTES COMPUESTOS
11.2.1. Crear un componente compuesto
11.2.2. Definir el componente compuesto mediante código
11.2.3. Añadir funcionalidad
11.3. COMPONENTES PROPIOS
11.3.1. Lienzo y pincel
11.3.2. Primitivas geométricas
11.3.3. Cadenas de texto
11.3.4. Imágenes y Drawables
11.3.5. Medición del componente 8
11.3.6. Parametrización desde XML con atributos propios
11.3.7. Añadir funcionalidad
11.3.8. Actualización del contenido
11.4. EJERCICIOS PROPUESTOS
11.4.1. Ejercicio 1. Extensión de vistas existentes
11.4.2. Ejercicio 2. Componentes compuestos
11.4.3. Ejercicio 3. Componentes propios

CAPÍTULO 12. ESTILOS Y TEMAS
12.1. DEFINICIÓN DE ESTILOS Y TEMAS
12.1.1. Herencia de estilos
12.2. USO DE ESTILOS Y TEMAS
12.2.1. Cómo aplicar un estilo
12.2.2. Cómo aplicar un tema
12.2.3. Temas definidos por el sistema
12.2.4. Atributos definidos por el sistema
12.2.5. Estilo basado en la versión de la plataforma
12.3. CONSEJOS SOBRE EL USO DE ESTILOS
12.4. EJERCICIO PROPUESTO

CAPÍTULO 13. PANTALLA TÁCTIL Y DETECCIÓN DE GESTOS
13.1. EVENTOS DE PULSACIÓN
13.1.1. Captura de eventos de pulsación para una sola vista
13.1.2. Dispositivos multitouch
13.2. RECONOCIMIENTO DE GESTOS
13.2.1. Gesto de doble pulsación
13.2.2. Detector de gestos simple
13.2.3. Más detectores de gestos
13.3. EJERCICIOS PROPUESTOS
13.3.1. Ejercicio 1. Pantalla táctil
13.3.2. Ejercicio 2. Gestos

CAPÍTULO 14. SENSORES
14.1. TRABAJANDO CON SENSORES ESTÁNDAR
14.1.1. Sensor como requisito
14.1.2. Escuchando a los eventos del sensor
14.1.3. Sistema de coordenadas
14.2. GEOLOCALIZACIÓN
14.2.1. Información del proveedor
14.2.2. Comprobar disponibilidad
14.2.3. Consultar la localización
14.2.4. Geocoding
14.3. RUNNING PERMISSIONS
14.4. RECONOCIMIENTO DEL HABLA
14.5. CÓMO PROBAR LOS SENSORES
14.6. EJERCICIOS PROPUESTOS
14.6.1. Ejercicio 1. Sensores estándar
14.6.2. Ejercicio 2. Geolocalización
14.6.3. Ejercicio 3. Reconocimiento del habla

CAPÍTULO 15. MULTIMEDIA
15.1. CONTENIDO MULTIMEDIA EN DISPOSITIVOS ANDROID
15.1.1. Formatos soportados
15.1.2. Gestión de los medios en el almacenamiento local
15.2. REPRODUCCIÓN DE AUDIO
15.2.1. Inicialización del reproductor de medios
15.2.2. Métodos del reproductor de medios
15.2.3. Liberación del reproductor de medios.
15.2.4. Streams de audio y control de volumen
15.2.5. Desconexión de auriculares
15.3. REPRODUCCIÓN DE VÍDEO
15.3.1. Reproducir vídeo mediante VideoView
15.3.2. Reproducir vídeo con MediaPlayer
15.4. CAPTURA DE MEDIOS
15.4.1. Almacenamiento de medios
15.4.2. Toma de fotografías mediante intents
15.4.3. Captura de vídeo mediante intents
15.4.4. Captura de medios desde nuestra actividad
15.5. AGREGAR FICHEROS MULTIMEDIA EN EL MEDIA STORE
15.6. EJERCICIOS PROPUESTOS
15.6.1. Ejercicio 1. Toma de fotografías
15.6.2. Ejercicio 2. Reproducción de audio
15.6.3. Ejercicio 3. Reproducción de vídeo

CAPÍTULO 16. HILOS DE EJECUCIÓN.
16.1. THREAD
16.1.1. Ejecución del hilo
16.1.2. Acceso a la interfaz gráfica
16.2. ASYNCTASK
16.2.1. Iniciar una AsyncTask
16.2.2. Ejemplo
16.3. ASYNCTASK VS. THREAD
16.4. INDICADOR DE ACTIVIDAD.
16.5. EJERCICIO PROPUESTO

CAPÍTULO 17. SERVICIOS EN SEGUNDO PLANO
17.1. SERVICIOS PROPIOS
17.1.1. Iniciar y detener un servicio
17.1.2. Comportamiento de reinicio
17.1.3. Servicios prioritarios
17.1.4. Servicios y tareas costosas
17.2. INTENTSERVICE
17.3. ATAR UN SERVICIO A OTRO COMPONENTE (BINDING)
17.4. SERVICIOS EN UN PROCESO SEPARADO
17.5. COMUNICACIÓN CON UN SERVICIO
17.5.1. Comunicación con IPC
17.5.2. Comunicación con PendingIntent
17.5.3. Comunicación con BroadcastReceiver
17.6. SERVICIOS DEL SISTEMA
17.6.1. AlarmManager para programar servicios
17.7. EJERCICIOS PROPUESTOS
17.7.1. Ejercicio 1. Contador mediante Service
17.7.2. Ejercicio 2. Contador con IntentService
17.7.3. Ejercicio 3. Reproductor de audio mediante binding y servicios prioritarios

CAPÍTULO 18. FICHEROS Y SERIALIZACIÓN DE DATOS
18.1. FLUJOS DE DATOS DE ENTRADA/SALIDA
18.2. ACCESO A FICHEROS
18.2.1. Directorios privados de la aplicación
18.2.2. Almacenamiento externo
18.2.3. Directorios de caché
18.2.4. Ficheros compartidos
18.2.5. Lectura y escritura de ficheros
18.2.6. Pruebas con el almacenamiento externo
18.3. ACCESO A RECURSOS DE LA APLICACIÓN
18.4. CODIFICACIÓN DE DATOS
18.5. SERIALIZACIÓN DE OBJETOS
18.6. CLASES PARCELABLES
18.7. EJERCICIOS PROPUESTOS
18.7.1. Ejercicio 1. Lectura de ficheros
18.7.2. Ejercicio 2. Serialización de datos

CAPÍTULO 19. PREFERENCIAS DEL SISTEMA
19.1. CREAR Y GUARDAR PREFERENCIAS
19.2. GUARDAR PREFERENCIAS
19.3. LEER PREFERENCIAS
19.4. INTERFAZ DE USUARIO PARA LAS PREFERENCIAS
19.4.1. Actividad de preferencias
19.4.2. Fragmento de preferencias
19.4.3. Múltiples paneles de preferencias
19.5. EJERCICIOS PROPUESTOS
19.5.1. Ejercicio 1. Preferencias del usuario
19.5.2. Ejercicio 2. Actividad de preferencias

CAPÍTULO 20. BASES DE DATOS CON SQLITE
20.1. CREAR, ACTUALIZAR Y CONECTAR
20.2. OBTENER ACCESO A LA BASE DE DATOS
20.3. CONSULTAR DATOS
20.4. INSERTAR DATOS
20.5. ACTUALIZAR DATOS
20.6. ELIMINAR DATOS
20.7. DÓNDE SE GUARDA LA BASE DE DATOS
20.8. ADAPTADORES
20.9. EJERCICIO PROPUESTO

CAPÍTULO 21. ACCESO A LA RED
21.1. CONEXIÓN A UNA URL
21.1.1. Descargar contenido
21.1.2. Descargar una imagen
21.1.3. Configuración
21.2. COMPROBACIÓN DE LA CONECTIVIDAD
21.3. DESCARGA LAZY DE IMÁGENES
21.3.1. Implementación de la descarga lazy
21.3.2. Descarga lazy solo cuando no se hace scroll
21.3.3. Referencias débiles a elementos
21.4. EJERCICIOS PROPUESTOS
21.4.1. Ejercicio 1. Visor de HTML
21.4.2. Ejercicio 2. Descarga lazy de imágenes

CAPÍTULO 22. SERVICIOS REST
22.1. FUNDAMENTOS DE REST
22.2. CABECERAS DE LA PETICIÓN
22.3. TIPOS DE PETICIONES REST
22.3.1. Petición tipo GET
22.3.2. Petición tipo POST
22.3.3. Petición tipo PUT
22.3.4. Petición tipo DELETE
22.4. AUTENTIFICACIÓN EN SERVICIOS REMOTOS
22.4.1. Seguridad HTTP básica
22.5. PROCESAR CONTENIDOS EN FORMATO XML
22.6. PROCESAR CONTENIDOS EN FORMATO JSON
22.7. EJERCICIOS PROPUESTOS
22.7.1. Ejercicio 1. Procesamiento de formato XML
22.7.2. Ejercicio 2. Peticiones REST y JSON
22.7.3. Ejercicio 3. Cliente REST completo

MATERIAL ADICIONAL
ÍNDICE ALFABÉTICO