El gran libro de
programación avanzada con Android
José Enrique Amaro Soriano
El gran libro de
programación avanzada con Android
José Enrique Amaro Soriano
A Alfaomega
e d i c i o n e s
t é c n i c a s
Datos catalográficos
Amaro, José Enrique
El gran libro de programación avanzada con
Android
Primera Edición
Alfaomega Grupo Editor, S.A. de C.V., México
ISBN: 978-607-707-551-6
Formato: 17 x 23 cm
Páginas: 400
El gran libro de programación avanzada con Android
José Enrique Amaro Soriano
ISBN: 978-84-267-1885-3, edición en español publicada por MARCOMBO, S.A., Barcelona, España
Derechos reservados © MARCOMBO, S.A.
Primera edición: Alfaomega Grupo Editor, México, octubre 2012
Primera reimpresión: Alfaomega Grupo Editor, México, diciembre 2012
© 2013 Alfaomega Grupo Editor, S.A. de C.V.
Pitágoras 1139, Col. Del Valle, 03100, México D.F.
Miembro de la Cámara Nacional de la Industria Editorial Mexicana
Registro No. 2317
Pág. Web: http://www.alfaomega.com.mx
E-mail:
[email protected]
ISBN: 978-607-707-551-6
Derechos reservados:
Esta obra es propiedad intelectual de su autor y los derechos de publicación en lengua
española han sido legalmente transferidos al editor. Prohibida su reproducción parcial o total
por cualquier medio sin permiso por escrito del propietario de los derechos del copyright.
Nota importante:
La información contenida en esta obra tiene un fin exclusivamente didáctico y, por lo tanto,
no está previsto su aprovechamiento a nivel profesional o industrial. Las indicaciones
técnicas y programas incluidos, han sido elaborados con gran cuidado por el autor y
reproducidos bajo estrictas normas de control. ALFAOMEGA GRUPO EDITOR, S.A. de
C.V. no será jurídicamente responsable por: errores u omisiones; daños y perjuicios que se
pudieran atribuir al uso de la información comprendida en este libro, ni por la utilización
indebida que pudiera dársele.
Edición autorizada para venta en México y todo el continente americano.
Impreso en México. Printed in México.
Empresas del grupo:
México: Alfaomega Grupo Editor, S.A. de C.V. - Pitágoras 1139, Col. Del Valle, México. D.F. - C.P. 03100.
Tel.: (52-55) 5575-5022 - Fax: (52-55) 5575-2420 / 2490. Sin costo: 01-800-020-4396
E-mail:
[email protected]
Colombia: Alfaomega Colombiana S.A. - Carrera 15 No. 64 A 29, Bogotá, Colombia.
Tel.: (57-1) 2100122 - Fax: (57-1) 6068648 - E-mail:
[email protected]
Chile: Alfaomega Grupo Editor, S.A. - Dr. La Sierra 1437, Providencia, Santiago, Chile
Tel.: (56-2) 235-4248 - Fax: (56-2) 235-5786 - E-mail:
[email protected]
Argentina: Alfaomega Grupo Editor Argentino, S.A. - Paraguay 1307 PB. Of. 11, C.P. 1057, Buenos Aires.
Argentina, -Tel./Fax: (54-11)4811-0887 y 4811 7183 - E-mail:
[email protected]
«En un futuro cercano, no habrá ningún accesorio, salvo
una escoba acaso, que no tenga un procesador dentro.» (Arthur C. Clarke)
ÍNDICE GENERAL
1. 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 Ul con post........................................................................55
4.3. Modificación de la Ul con Handler.post..........................................................57
4.4. Métodos combinados para modificar la U l....................................................59
4.5. Modificación de la Ul 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 LISTA S.................................................................................................... 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 desplegadles con SpinnerView..........................................................162
9. BASES DE D A T O S ..........................................................................................................................166
9.1. Elementos de SQLitey SQL.........................................................................166
9.1.1. Iniciar sqlite3 con ADB...............................................................................166
9.1.2. Crear una tabla...........................................................................................168
9.1.3. Algunas expresiones SQ L.........................................................................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 C
Comentarios de: El Gran Libro De Programación Avanzada Con Android (1)