1.1 INTRODUCCION
1.1.1 Qué es Android 3
1.1.2 Proyecto libre (Open Source) 3
1.1.3 Su historia 3
1.1.4 Inconvenientes de Android 4
1.2 QUÉ ES ECLIPSE 5
1.2.1 El Consorcio Eclipse 5
1.2.2 Instalación de Java Developmente Kit (JDK) 6
1.2.3 Instalación de Eclipse 7
1.2.4 Instalación de las librarlas de Android 9
1.2.5 Añadir versiones y componentes de Android 19
1.2.6 Definición del dispositivo virtual de Android 25
1.1 INTRODUCCIÓN AL ENTORNO DE ANDROID 31
1.1.1 Introducción 31
1.1.2 Caracleristicas de Android 31
1.1 .3 Arquitectura de Android 33
1.1.4 Creación de un proyeclo por líneas de comando 35
1.2 CONCEPTOS DE LAS APLICACIONES ANDROID 37
1.2.1 Caracteristloas de las aplicaciones Android 37
1.2.2 Componentes de las apllcaclones 37
1.3 CÓMO CREAR UN PROYECTO ANDROID 40
1.3.1 Un vistazo general al IDE de Eclipse 40
1.3.1.1 Edltores 41
1.3.1.2 Vlstas 41
1.3.1.3 Barras de Herramientas principal y secundarias 43
1.3.1.4 Perspectivas 43
1.3.2 Cómo crear un proyecto Android 46
1.32.1 Creaolón de un nuevo proyecto – 47
1.3.2.2 Nombre de la actlvldad 49
1.32.3 Descripción de los ficheros por defecto del proyecto 49
1.32.4 Ejecución del proyecto Android – 53
1.3.2.5 Cómo usar el emulador de Android (AVD) 56
1.4 CÓMO CREAR LA PRIMERA APLICACIÓN CON ANDROID 63
1.4.1 Cambio en la lntetfaz de usuario con Layout 66
1.5 DISENO DE LA INTERFAZ DE USUARIO 70
1.5.1 Cómo diseñar la interfaz de usuario mediante Vistas 70
1.5.2 Vistas disponibles de Android 71
2.1 ACTIVIDADES – ANDROID 93
2.1.1 lntroducción 93
2.1.2 Creación de una actlvldad 93
2.1.3 Ciclo de vida de una actividad 94
2.1.4 Cómo se Implementa el ciclo de vida de una actividad 94
2.2 EVENTOS Y LISTENERS 100
2.2.1 Gestionando los eventos del usuario 100
2.2.2 Uso de los Event llsteners 100
2.2.3 Gestores de Eventos (Event Handlers) 104
2.2.4 Modo táctil de pantalla 105
2.2.5 Controlando la Vista con el foco activo 106
2.3 USO DEL EMULADOR DE ANDROID 106
2.3.1 Teclado del emulador 108
2.3.2 Cómo Introducir tildes con el Teclado del Emulador 110
2.3.3 Limitaciones del Emulador 111
2.3.4 Tamaño ventana emulador 111
2.3.5 otras opciones del Emulador 112
2.3.6 Cómo configurar las opciones del Emulador 113
2.4 COMPONENTES AVANZADOS 114
2.4.1 Qué son los Adaptadores de Android (adapters) 114
2.5 COMPONENTES PERSONALIZADOS 127
2.5.1 Diseño de componentes personalizados 127
2.5.2 Cómo crear un componente extendido 127
2.5.3 Cómo combinar varios componentes para crear uno compuesto 130
3.1 INTRODUCCION 143
3.1.1 lntroducclón 143
3.1.2 Gestión del botón “Hacia atrás” de Android 143
3.1.3 Definición de una tarea en los proyectos Android 145
3.2 GUARDAR Y RECUPERAR EL ESTADO DE UNA ACTIVIDAD 147
3.3 PROCESOS EN HILOS EN ANDROID 154
3.3.1 Procesos 154
3.3.2 Ciclo de vida de los procesos 155
3.3.3 Hilos de ejecución en Android 157
3.4 HILOS EN SEGUNDO PLANO 158
3.4.1 Utilización de tareas asincronas con la clase AsyncTask 159
3.5 MENUS DE ANDROID 162
3.5.1 Ejemplo de Menú Principal y Submenú 162
3.5.2 Ejemplo de Menú Contextual 167
3.5.3 Ventanas de diálogo en Android 172
3.5.3.1 Ventanas de diálogo con mensaje 174
3.5.32 Ventanas de dlálogo con botones 174
3.5.3.3 Ventanas de dlálogo con selección 176
3.5.3.4 Ventanas de diálogo personalizada 177
4.1 FlCHEROS EN ANDROID 185
4.1.1 Introducción 185
4.1.2 Gestión de Información en Android 185
4.1.3 Gestión del sistema de archivos en Android 185
4.1.4 Clase Fichero File 186
4.1.4.1 Constructores mas importantes 186
4.1.4.2 Métodos más Importantes 187
4.1.5 Rcheros en la memoria Interna del diapositivo 188
4.1.6 Fichero de recurso de la aplicación 190
4.1.7 Fichero en almacenamiento extemo 191
4.1.8 Añadir datos a un fichero 196
4.1.9 Gestionando las excepciones en la gestión de ficheros 196
4.2 PREFERENCIAS DE UNA APL.ICACION ANDROID 197
4.2.1 Preferencia de las aplicaciones Android 197
4.2.2 Pantallas de opciones 200
4.3 RECURSOS DE LAS APLICACIONES ANDROID 207
4.3.1 Tipos de recursos 208
4.3.2 Crear literales en ficheros de recursos con Eclipse 208
4.3.3 Recursos de tipo Cadena (String Resources) 209
4.3.4.1 Cadena (String) 210
4.3.4.2 Matriz de cadenas (Strlng Array) 211
4.3.4.3 Cadenas de cantidad (Ouantlty Strlngs) 212
4.3.4 Formatear y cambiar el estllo de las cadenas de recursos 213
4.3.4.l Escapando comillas simples y dobles 213
4.3.4.2 Formatear cadenas de texto 214
4.3.4.3 Cambio de estilo 214
4.4 ACCESO A INTERNET CON ANDROID 215
4.4.1 Ejemplo de conexión a Internet 216
4.4.2 Conexión a través de proxy 220
4.5 QUÉ SON JSON (JavaScrfpt Object Notation) 221
4.5.1 Cómo usar JSON en nuestras aplicaciones a Android 222
4.5.2 Cómo escribir ficheros en formato JSON 225
5.1 INTENTS EN ANDROID 231
5.1.1 Introducción 231
5.1.2 lntenclones (Intents) 231
5.1.3 Ficheros Manifest 232
5.1.4 Declarar capacidades de los componentes de las aplicaciones 233
5.1.5 Uso de intenciones 234
5.1.6 Arranque explícito de una actividad 234
5.1.7 Arranque implícito de una actividad 235
5.1.7.1 Ejecutar subactividades 235
5.1.8 Filtros de Intenciones 239
5.1.9 Resolución de intenciones Inplicitas 240
5.1.10 Uso de intenciones para extender aplicaciones 241
5.2 USO DE INTENTS 243
5.2.1 Uso de lntents 243
5.2.2 mvocaclón Explícita 243
5.2.3 Invocación Implícita249
5.2.4 Registro Acción para Invocación Implícita 252
5.2.5 Detectar Acciones de lntents 255
5.3 PERMISOS Y SEGURIDAD EN ANDROID 256
5.3.1 Arquitectura de seguridad de Android 256
5.3.2 Firma de apllcación 256
5.3.3 ID de usuario y Acceso a ficheros 257
5.3.4 Permisos de aplicaciones 257
5.3.5 Autoprotección de aplicaciones Android 261
5.3.6 Asignar permisos de componentes internos de la aplicación 262
5.3.7 Cómo obtienes permisos estas aplicaciones 263
5.3.8 Notas sobre seguridad en Android 264
5.4 Tab.Layout 264
5.4.1 Pantallas con pestañas con Tab Layout 264
6.1 BASES DE DATOS 275
6.1.1 Introducción 275
6.1.2 Teoría sobre Bases de Datos 275
6.1.3 Ventajas de las bases de datos 279
6.1.4 Bases de datos relacionales 281
6.1.5 Diseño de bases de datos 283
6.2 SQLite en Android 284
6.2.1 Gestión de la lnformación en Android 264
6.2.2 Gestión de la Base de Datos SQLite en Android 265
6.2.3 Creación de Bases de datos SQLite 266
6.2.4 Modificación de la información de BD SQLite 292
6.2.4.1 Método Insert() 293
6.2.4.2 Método update() y método delete() 294
6.2.5 Uso de parámetros en los métodos SQLite 294
6.3 Consultas SQLite en Android 295
6.3.1 Selección y recuperación de Consultas de BD SQLite 295
6.3.2 Ejemplo práctico de BD SQLite con Android 298
6.3.3 Acceso y creación de la Base de datos 299
6.3.4 Recursos de diseño XML 303
6.3.5 Actividades 304
6.3.6 Fichero Androidmanifest.xml 310
6.4 GESTION DE FICHEROS XML 311
6.4.1 SAX es el modelo clásico en Android 316
6.4.2 SAX simplificado en Android 323
6.4.3 DOM en Android 327
6.4.4 StAX en Android 331
7.1 CONTENT PROVIDERS 341
7.1.1 Introducción 341
7.1.2 Proveedores de contenido (Cantent Providers) 341
7.1.3 Construcción de un Content Provider 342
7.2 Uso de un Content Provider nuevo 352
7.3 Uso de un Content Provider ya existente en Android 355
7.4 SERVICIOS DE ANDROID Y RECEPTORES DE MENSAJES DE DIFUSIÓN 359
7.4.1 Servicios (Services) 359
7.4.2 Servicios propios 360
7.4.3 Receptor de mensajes de dilución (Broadcast Receiver) 361
7.4.4 Intención pendiente (Pending lntent) 361
7.4.5 Ejemplo de Receptor de mensajes (Broadcast Recelver) 362
7.4.6 Ejemplo de envio y recepción de mensajes internos en una aplicación y uso de servicios por defecto de Android 364
7.4.7 Crear un servicio propio 367
7.5 NOTIFICACIONES AL USUARIO EN ANDROID 373
7.5.1 Mensajes emergentes (Toast) 373
7.5.2 Notificaciones en la barra de estado 378
7.6 USO DE VIEWPAGER EN APLICACIONES ANDROID 383
7.6.1 Cómo se usa el componente ViewPager 385
8.1 INTRODUCCION 397
8.2 CÓMO DEPURAR APLICACIONES ANDROID CON ECLIPSE 397
8.2.1 Estableciendo Puntos de Interrupción (Breakpoints) 399
8.2.2 Iniciar la depuración (Debug) del código 400
8.2.3 Datos de depuración (Debug) del códlgo 401
8.2.4 Desactivar la depuración de código 403
8.2.5 Propiedades de los puntos de Interrupción 404
8.2.6 Puntos de Interrupción de excepciones 405
8.2.7 Puntos de Interrupción de método 405
8.2.8 Puntos de Interrupción de clase (ciass) 405
8.2.9 Finanzar la Depuración del código 406
8.3 USO DE MAPAS EN APLICACIONES ANDROID 406
8.3.1 Preparación del Entorno de programación 407
8.3.2 Cómo incluir mapas en las aplicaciones Android 410
8.4 DESARROLLO DE APLICACIONES SENSIBLES A LA ORIENTACION DEL DISPOSITIVO 418
8.4.1 Cambio de orientación automática 420
8.4.2 Mantener la Información del estado durante el cambio de orientación 424
8.4.3 Cambio de orientación Manual 427
8.5 DESPLEGAR APLICACIONES ANDROID EN DISPOSITIVOS VIRTUALES (AVD) O REALES 431
8.6 CÓMO PUBLICAR APLICACIONES EN EL ANDROID MARKET 435
8.6.1 Alta de cuenta de desarrollador en el Android Market 435
8.6.2 Recomendaciones sobre aplicaciones para Android Market 439
8.6.2.1 Recomendaciones sobre aplicaciones para Android Market 439
Muchisimas gracias!