Vous êtes sur la page 1sur 10

Lista de acrnimos

CAPTULO 1. Visin general y entorno de desarrollo


21
1.1. Qu hace que Android sea especial? . 22
1.2. Los orgenes . 23
1.3. Comparativa con otras plataformas 24
1.4. Arquitectura de Android. 26
1.4.1. El ncleo Linux 27
1.4.2. Runtime de Android . 27
1.4.3. Libreras nativas 28
1.4.4. Entorno de aplicacin 28
1.4.5. Aplicaciones 29
1.5. Instalacin del entorno de desarrollo 29
1.5.1. Instalacin de los componentes por separado 30
1.5.1.1. Instalacin de la mquina virtual Java . 30
1.5.1.2. Instalacin de Eclipse . 30
1.5.1.3. Instalar Android SDK de Google 31
1.5.2. Instalacin del plug-in Android para Eclipse
(ADT) . 35
1.5.3. Instalacin con MOTODEV Studio 36
1.6. Las versiones de Android y niveles de API . 38
1.6.1. Android 1.0 Nivel de API 1 (septiembre 2008) 39
1.6.2. Android 1.1 Nivel de API 2 (febrero 2009) 39
1.6.3. Android 1.5 Nivel de API 3 (abril 2009,
Cupcake) . 39
1.6.4. Android 1.6 Nivel de API 4 (diciembre 2009,
Donut) . 39
1.6.5. Android 2.0 Nivel de API 5 (octubre 2009,
clair) . 40
1.6.6. Android 2.1 Nivel de API 7 (enero 2010, clair)
40

1.6.7. Android 2.2 Nivel de API 8 (mayo 2010, Froyo)


40
1.6.8. Android 2.3 Nivel de API 9 (diciembre 2010,
Gingerbread) 41
1.6.9. Android 3.0 Nivel de API 11 (febrero 2011,
Honeycomb) . 41
1.6.10. Android 3.1 Nivel de API 12 (mayo 2011) 42viii
1.6.11. Android 3.2 Nivel de API 13 (julio 2011) . 42
1.6.12. Android 4.0 Nivel de API 14 (octubre 2011, Ice
Cream Sandwich) 43
1.6.13. Android 4.0.3 Nivel de API 15 (diciembre 2011)
43
1.6.14. Eleccin de la plataforma de desarrollo . 43
1.7. Creacin de un primer programa 45
1.7.1. Creacin del proyecto 45
1.8. Ejecucin del programa. 49
1.8.1. Ejecucin en el emulador 49
1.8.2. Ejecucin en un terminal real 49
1.9. Elementos de un proyecto Android . 51
1.10. Componentes de una aplicacin . 53
1.10.1. Vista (View) 53
1.10.2. Layout 53
1.10.3. Actividad (Activity) 54
1.10.4. Servicio (Service) 54
1.10.5. Intencin (Intent) . 54
1.10.6. Receptor de anuncios (Broadcast receiver) . 54
1.10.7. Proveedores de Contenido (Content Provider)
55
1.11. Documentacin y ApiDemos . 55
1.11.1. Donde encontrar documentacin . 55
1.11.2. La aplicacin ApiDemos . 55

1.12. Depurar 57
1.12.1. Depurar con Eclipse . 57
1.12.2. Depurar con mensajes Log. 58

CAPTULO 2. Diseo de la interfaz de


usuario: Vistas y Layouts 61
2.1. Creacin de una interfaz de usuario por cdigo .
62
2.2. Creacin de una interfaz de usuario usando XML
63
2.2.1. Edicin visual de las vistas 66
2.3. Layouts . 70
2.4. Una aplicacin de ejemplo: Asteroides . 76
2.4.1. Recursos alternativos 78
2.5. Estilos y temas . 82
2.5.1. Los estilos . 83
2.5.1.1. Heredar de un estilo propio . 83
2.5.2. Los temas . 84
2.6. Uso prctico de Vistas y Layouts 85
2.6.1. Acceder y modificar las propiedades de las
vistas por cdigo 87
2.7. Uso de TabLayout 89
2.7.1. Uso de la etiqueta en Layouts 91

CAPTULO 3. Actividades e Intenciones


93
3.1. Creacin de nuevas actividades . 94
3.2. Comunicacin entre actividades . 98
3.3. Aadiendo un men 100
3.4. Creacin y uso de iconos 102
3.5. Aadiendo preferencias de usuario 105
3.5.1. Organizando preferencias . 108

3.5.2. Como se almacenan las preferencias de


usuario . 109
3.5.3. Accediendo a los valores de las preferencias .
110
3.6. Aadiendo una lista de puntaciones en Asteroides
111
3.7. La vista ListView . 113
3.7.1. Un ListView que visualiza una lista de Strings
115
3.7.2. Un ListView que visualiza Layouts
personalizados . 116
3.7.3. Un ListView con nuestro propio adaptador . 118
3.7.4. Detectar una pulsacin sobre un elemento de la
lista . 120
3.8. Las Intenciones 121
3.8.1. La etiqueta . 126

CAPTULO 4. Grficos en Android 127


4.1. Clases para grficos en Android . 128
4.1.1. Canvas 128
4.1.2. Paint 130
4.1.2.1. Definicin de colores . 131
4.1.3. Path 133
4.1.4. Drawable . 135x
4.1.4.1. BitmapDrawable 136
4.1.4.2. GradienDrawable 137
4.1.4.3. TransitionDrawable . 138
4.1.4.4. ShapeDrawable 138
4.1.4.5. AnimationDrawable . 139
4.2. Creacin de una vista en un fichero independiente
140
4.3. Creando la actividad principal de Asteroides 143

4.3.1. La clase Grfico . 145


4.3.2. La clase VistaJuego 146
4.3.3. Introduciendo la nave en VistaJuego 148
4.4. Representacin de grficos vectoriales en
Asteroides . 150
4.5. Animaciones . 152
4.5.1. Animaciones Tween 153
4.5.2. Animaciones de propiedades 156

CAPTULO 5. Entradas en Android:


teclado, pantalla tctil y sensores 157
5.1. Manejando eventos de usuario . 158
5.1.1. Escuchador de eventos . 158
5.1.2. Manejadores de eventos . 159
5.2. El teclado 159
5.3. La pantalla tctil . 162
5.3.1. Manejo de la pantalla tctil con multi-touch 165
5.3.2. Manejo de la nave con la pantalla tctil 168
5.4. Gestures . 169
5.4.1. Creacin y uso de una librera de gestures . 170
5.4.2. Aadiendo gestures a Asteroides 174
5.5. Los sensores 176
5.5.1. Un programa que muestra los sensores
disponibles
y sus valores en tiempo real 181
5.5.2. Utilizacin de los sensores en Asteroides . 183
5.6. Uso de hilos de ejecucin (Threads) . 184
5.6.1. Introduciendo movimiento en Asteroides 185
5.7. Introduciendo un misil en Asteroides 187

CAPTULO 6. Multimedia y ciclo de vida


de una actividad 191

6.1. Ciclo de vida de una actividad 192


6.1.1. Qu proceso se elimina? . 198
6.1.2. Guardando el estado de una actividad 200
6.2. Utilizando multimedia en Android 202
6.3. La vista VideoView 205
6.4. La clase MediaPlayer 207
6.4.1. Reproduccin de audio con MediaPlayer 207
6.5. Un reproductor multimedia pas a paso . 208
6.6. Introduciendo efectos de audio con SoundPool .
215
6.7. Grabacin de audio . 217

CAPTULO 7. Seguridad y
posicionamiento 223
7.1. Los tres pilares de la seguridad en Android 224
7.1.1. Usuario Linux y acceso a ficheros . 225
7.1.2. El esquema de permisos en Android . 225
7.1.3. Permisos definidos por el usuario en Android .
227
7.2. Localizacin 231
7.2.1. Emulacin del GPS con Eclipse 236
7.3. Google Maps 237
7.3.1. Obtencin de una clave Google Maps 237
7.4. Fragmentando los asteroides 242

CAPTULO 8. Servicios, notificaciones y


receptores de anuncios 245
8.1. Introduccin a los servicios en Android . 246
8.1.1. Ciclo de vida de un servicio. 247
8.1.2. Permisos . 249
8.2. Un servicio para ejecucin en segundo plano. .
249

8.2.1. Los mtodos onStartCommad() y onStart() 252


8.3. Las notificaciones de la barra de estado . 254
8.3.1. Configurando tipos de avisos en las
notificaciones . 257
8.3.1.1. Asociar un sonido 257
8.3.1.2. Aadiendo vibracin . 257xii
8.3.1.3. Aadiendo parpadeo de LED 257
8.4. Receptores de anuncios 258
8.4.1. Receptor de anuncios registrado en
AndroidManifest.xml 259
8.4.2. Arrancar un servicio tras cargar el sistema
operativo . 265
8.5. Un servicio como mecanismo de comunicacin
entre aplicaciones . 266
8.5.1. Crear la interfaz en AIDL . 267
8.5.2. Implementar la interfaz 268
8.5.3. Publicar la interfaz en un servicio 269
8.5.4. Llamar a una interfaz remoto . 270

CAPTULO 9. Almacenamiento de datos


273
9.1. Alternativas para guardar datos permanentemente
en Android . 274
9.2. Aadiendo puntuaciones en Asteroides 275
9.3. Preferencias . 277
9.4. Accediendo a ficheros . 280
9.4.1. Sistema interno de ficheros . 281
9.4.2. Sistema de almacenamiento externo 283
9.4.2.1. Verificando acceso a la memoria externa 285
9.4.2.2. Almacenando ficheros especficos de tu
aplicacin

en el almacenamiento externo 286


9.4.2.3. Almacenando ficheros compartidos en el
almacenamiento externo 287
9.4.3. Acceder a un fichero de los recursos 288
9.5. Trabajando con XML . 289
9.5.1. Procesando XML con SAX 290
9.5.2. Procesando XML con DOM . 296
9.6. Bases de datos . 301
9.6.1. Los mtodos query() y rawQuery() 304
9.7. Utilizando la clase ContentProvider 305
9.7.1. Conceptos bsicos 306
9.7.1.1. El modelo de datos . 306
9.7.1.2. Las URI . 306
9.7.2. Acceder a la informacin de un ContentProvider
307
9.7.2.1. Leer informacin de un ContentProvider . 308
9.7.2.2. Escribir informacin en un ContentProvider .
311
9.7.2.3. Borrar y modificar elementos de un
ContentProvider . 312
9.7.3. Creacin de un ContentProvider . 312
9.7.3.1. Definir la estructura de almacenamiento del
ContentProvider . 313
9.7.3.2. Extendiendo la clase ContentProvider . 314
9.7.3.3. Declarar el ContentProvider en
AndroidManifest.xml 318
9.7.4. Acceso a PuntuacionesProvider desde
Asteroides . 319

CAPTULO 10. Internet: sockets, HTTP y


servicios web 321

10.1. Comunicaciones en Internet mediante sockets


322
10.1.1. La arquitectura cliente/servidor 322
10.1.2. Qu es un socket? 322
10.1.2.1. Sockets stream (TCP) . 323
10.1.2.2. Sockets datagram (UDP) . 323
10.1.3. Un ejemplo de un cliente / servidor de ECHO
324
10.1.4. Un servidor por sockets para las puntuaciones
326
10.2. La web y el protocolo HTTP 330
10.2.1. El protocolo HTTP 330
10.2.2. Versin 1.0 del protocolo HTTP . 332
10.2.3. Utilizando HTTP desde Android . 334
10.3. Servicios web . 339
10.3.1. Alternativas en los servicios web 339
10.3.1.1. Servicios web basados en SOAP 340
10.3.1.2. Servicios web basados en REST 341
10.3.2. Acceso a servicios web de terceros 345
10.3.3. Diseo e implantacin de nuestro servicio web
349
10.3.3.1. Instalacin del servidor de servicios web 349
10.3.3.2. Creacin un servicio web en Eclipse 351
10.3.3.3. Explorando el servicio web desde Eclipse 354
10.3.3.4. Explorando el servicio web desde HTML 358
10.3.3.5. Utilizando el servicio web desde Asteroides
360

CAPTULO 11. Publicar Aplicaciones 365


11.1. Preparar y testear tu aplicacin 366
11.1.1. Preparar la aplicacin para distintos tipos de
dispositivo 366

11.1.2. Testear la aplicacin 368


11.2. Crear un certificado digital y firmar la aplicacin
370
11.3. Publicar la aplicacin 372
11.3.1. Publicar en Internet 372
11.3.2. Publicar en Google Play Store 373
11.4. Asteroides: detectar victoria y derrota 377
ANEXO A. Referencia Java 379
ANEXO B. Referencia: la clase View y sus
descendientes 391

Vous aimerez peut-être aussi