?f1. INTRODUCCIÓN.................................................................................................................11
2. ANIMACIONES INTERPOLADAS ...................................................................................14
2.1. Traslaciones .................................................................................................... 14
2.2. Repetición de animaciones ............................................................................ 18
2.3. Rotaciones ...................................................................................................... 21
2.4. Dilataciones y contracciones ......................................................................... 23
2.5. Apariciones y desapariciones ........................................................................ 24
2.6. Series de animaciones ................................................................................... 26
2.7. Animaciones con Java ................................................................................... 29
2.8. AnimationListener ........................................................................................... 32
2.9. Animación de un layout .................................................................................. 34
2.10. Animación de un layout en Java.................................................................. 37
2.11. LayoutAnimationListener.............................................................................. 38
3. ANIMACIÓN DE FOTOGRAMAS ....................................................................................41
3.1. Animación usando recursos........................................................................... 41
3.2. Animación de fotogramas en Java: AnimationDrawable ............................. 45
3.3. Ajuste de la relación de aspecto.................................................................... 46
4. PROCESOS EN BACKGROUND.......................................................................................52
4.1. Uso de Timer y RunOnUiThread ................................................................... 52
4.2. Modificación de la UI con post....................................................................... 55
4.3. Modificación de la UI con Handler.post......................................................... 57
4.4. Métodos combinados para modificar la UI ................................................... 59
4.5. Modificación de la UI con AsyncTask ........................................................... 64
4.6. Máquina tragaperras ...................................................................................... 67
5. SENSORES...........................................................................................................................76
5.1. Sensor de aceleración.................................................................................... 76
5.2. Lista de sensores de un teléfono................................................................... 85
5.3. Sensor de campo magnético ......................................................................... 87
5.4. Sensor de orientación..................................................................................... 95
5.5. Sensor de proximidad y sensor de luminosidad......................................... 103
6. DIÁLOGOS ........................................................................................................................ 110
6.1. Crear un diálogo ........................................................................................... 110
6.2. Diálogos con botones ................................................................................... 113
6.3. Diálogos con ítems ....................................................................................... 116
6.4. Diálogos de elección única .......................................................................... 118
6.5. Diálogos de elección múltiple ...................................................................... 121
6.6. Diálogos de progreso ................................................................................... 124
6.7. Diálogos personalizados .............................................................................. 127
7. MENÚS
7.1. Menú de opciones ........................................................................................ 132
7.2. Submenús ..................................................................................................... 134
7.3. Submenú con casillas................................................................................... 138
7.4. Menús de contexto ....................................................................................... 140
8. VISUALIZACIÓN DE LISTAS........................................................................................ 144
8.1. La clase ListView .......................................................................................... 144
8.2. Listas interactivas ......................................................................................... 146
8.3. ListView personalizado................................................................................. 150
8.4. Construcción de un BaseAdapter................................................................ 153
8.5. La clase ListActivity ...................................................................................... 160
8.6. Listas desplegables con SpinnerView......................................................... 162
9. BASES DE DATOS ........................................................................................................... 166
9.1. Elementos de SQLite y SQL ........................................................................ 166
9.1.1. Iniciar sqlite3 con ADB.............................................................................. 166
9.1.2. Crear una tabla .......................................................................................... 168
9.1.3. Algunas expresiones SQL ........................................................................ 169
9.2. Crear una base de datos con Android ........................................................ 171
9.3. Borrar filas de una tabla ............................................................................... 175
9.4. Automatizar las columnas del Cursor ......................................................... 176
9.5. Abrir una base de datos con SQLiteOpenHelper ....................................... 178
9.6. Borrar filas con delete................................................................................... 181
9.7. Realizar búsquedas con query .................................................................... 182
9.8. Adaptar un Cursor a un ListView................................................................. 189
10. PROVEEDORES DE CONTENIDOS..........................................
Si en el libro Android, Programación de dispositivos móviles a través de ejemplos (Marcombo, 2012), se presentaba el material didáctico esencial para iniciarse rápidamente en la programación del sistema, en este segundo libro, el autor introduce al lector en técnicas más avanzadas (aunque no necesariamente más complicadas) para realizar sus propios programas, para smartphone, tablet o cualquier otro dispositivo con el sistema operativo Android. El lector aprenderá a programar: animaciones interpoladas, animaciones de fotogramas, procesos en background, sensores, diálogos, menús, visualización de listas, bases de datos, proveedores de contenidos, comunicación entre actividades, Internet y RSS feeds, correo electrónico, localización y mapas de Google. El material contenido en esta obra se plantea como una colección de más de 80 ejemplos escritos expresamente para ilustrar alguna técnica particular de Android. Los ejemplos son aplicaciones completas de Android acompañados de capturas de pantalla. La obra está dirigida a no especialistas, estudiantes, profesores y público en general. No se requieren conocimientos profundos de Java. José Enrique Amaro Soriano es autor del libro Android: Programación de Dispósitivos Móviles a Través de Ejemplos. Es Físico Nuclear y Profesor de la Universidad de Granada, en el Departamento de Física Atómica, Molecular y Nuclear. Es investigador responsable del Grupo de Física Nuclear a Energías Intermedias y miembro del Instituto Carlos I de Física Teórica y Computacional. Ha enseñado, entre otras materias, Física Cuántica, Física Atómica, Física Nuclear, Radiactividad, Reacciones Nucleares y Tecnología Nuclear. Ha impartido cursos de Programación de Android para Científicos, en la Escuela de Posgrado de la Universidad de Granada, y de Programación de Android con Java, en la Fundación Universidad-Empresa.