EL GRAN LIBRO DE ANDROID

EL GRAN LIBRO DE ANDROID

TOMÁS GIRONÉS, JESUS

25,80 €
IVA incluido
Editorial:
MARCOMBO, S.A.
Año de edición:
2012
ISBN:
978-84-267-1832-7
Páginas:
404
Encuadernación:
Rústica

Disponibilidad:

  • Calle Doce de OctubreConsulte disponibilidad
  • Calle Valeriano MirandaConsulte disponibilidad

Lista de acrónimos ............................................................................................. xv
¿Cómo leer este libro? ..................................................................................... xvii
CAPÍTULO 1. Visión general y entorno de desarrollo .................................... 21
1.1. ¿Qué hace que Android sea especial? ..................................................... 22
1.2. Los orígenes .............................................................................................. 23
1.3. Comparativa con otras plataformas .......................................................... 24
1.4. Arquitectura de Android............................................................................. 26
1.4.1. El núcleo Linux .................................................................................... 27
1.4.2. Runtime de Android ............................................................................. 27
1.4.3. Librerías nativas .................................................................................. 28
1.4.4. Entorno de aplicación .......................................................................... 28
1.4.5. Aplicaciones ......................................................................................... 29
1.5. Instalación del entorno de desarrollo ........................................................ 29
1.5.1. Instalación de los componentes por separado .................................... 30
1.5.1.1. Instalación de la máquina virtual Java ............................................. 30
1.5.1.2. Instalación de Eclipse ....................................................................... 30
1.5.1.3. Instalar Android SDK de Google ...................................................... 31
1.5.2. Instalación del plug-in Android para Eclipse (ADT) ............................. 35
1.5.3. Instalación 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) .......................................... 42
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. Elección de la plataforma de desarrollo ............................................. 43
1.7. Creación de un primer programa .............................................................. 45
1.7.1. Creación del proyecto .......................................................................... 45
1.8. Ejecución del programa............................................................................. 49
1.8.1. Ejecución en el emulador .................................................................... 49
1.8.2. Ejecución en un terminal real .............................................................. 49
1.9. Elementos de un proyecto Android ........................................................... 51
1.10. Componentes de una aplicación ............................................................... 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. Intención (Intent) ................................................................................. 54
1.10.6. Receptor de anuncios (Broadcast receiver) ....................................... 54
1.10.7. Proveedores de Contenido (Content Provider) .................................. 55
1.11. Documentación y ApiDemos ..................................................................... 55
1.11.1. Donde encontrar documentación ....................................................... 55
1.11.2. La aplicación ApiDemos ..................................................................... 55
1.12. Depurar ..................................................................................................... 57
1.12.1. Depurar con Eclipse ........................................................................... 57
1.12.2. Depurar con mensajes Log................................................................. 58
CAPÍTULO 2. Diseño de la interfaz de usuario: Vistas y Layouts ................. 61
2.1. Creación de una interfaz de usuario por código ....................................... 62
2.2. Creación de una interfaz de usuario usando XML .................................... 63
2.2.1. Edición visual de las vistas .................................................................. 66
2.3. Layouts ...................................................................................................... 70
2.4. Una aplicación 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 práctico de Vistas y Layouts .............................................................. 85
2.6.1. Acceder y modificar las propiedades de las vistas por código ............ 87
2.7. Uso de TabLayout ..................................................................................... 89
2.7.1. Uso de la etiqueta en Layouts ............................................ 91
CAPÍTULO 3. Actividades e Intenciones .......................................................... 93
3.1. Creación de nuevas actividades ............................................................... 94
3.2. Comunicación entre actividades ............................................................... 98
3.3. Añadiendo un menú ................................................................................ 100
3.4. Creación y uso de iconos ........................................................................ 102
3.5. Añadiendo 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. Añadiendo 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 pulsación sobre un elemento de la lista ....................... 120
3.8. Las Intenciones ....................................................................................... 121
3.8.1. La etiqueta ................................................................... 126
CAPÍTULO 4. Gráficos en Android ................................................................ 127
4.1. Clases para gráficos en Android ............................................................. 128
4.1.1. Canvas............................................................................................... 128
4.1.2. Paint ................................................................................................... 130
4.1.2.1. Definición de colores ....................................................................... 131
4.1.3. Path ................................................................................................... 133
4.1.4. Drawable............................................................................................ 135
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. Creación de una vista en un fichero independiente ................................ 140
4.3. Creando la actividad principal de Asteroides .......................................... 143
4.3.1. La clase Gráfico ................................................................................. 145
4.3.2. La clase VistaJuego .......................................................................... 146
4.3.3. Introduciendo la nave en VistaJuego ................................................ 148
4.4. Representación de gráficos vectoriales en Asteroides ........................... 150
4.5. Animaciones ............................................................................................ 152
4.5.1. Animaciones Tween .......................................................................... 153
4.5.2. Animaciones de propiedades ............................................................ 156
CAPÍTULO 5. Entradas en Android: teclado, pantalla táctil 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 táctil ...................................................................................... 162
5.3.1. Manejo de la pantalla táctil con multi-touch ...................................... 165
5.3.2. Manejo de la nave con la pantalla táctil ............................................ 168
5.4. Gestures .................................................................................................. 169
5.4.1. Creación y uso de una librería de gestures....................................... 170
5.4.2. Añadiendo 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. Utilización de los sensores en Asteroides ......................................... 183
5.6. Uso de hilos de ejecución (Threads) ....................................................... 184
5.6.1. Introduciendo movimiento en Asteroides .......................................... 185
5.7. Introduciendo un misil en Asteroides ...................................................... 187
CAPÍTULO 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. Reproducción 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. Grabación de audio ................................................................................. 217
CAPÍTULO 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. Localización............................................................................................. 231
7.2.1. Emulación del GPS con Eclipse ........................................................ 236
7.3. Google Maps ........................................................................................... 237
7.3.1. Obtención de una clave Google Maps .............................................. 237
7.4. Fragmentando los asteroides .................................................................. 242
CAPÍTULO 8. Servicios, notificaciones y receptores de anuncios .................. 245
8.1. Introducción 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 ejecución en segundo plano. ....................................... 249
8.2.1. Los métodos 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. Añadiendo vibración ....................................................................... 257
8.3.1.3. Añadiendo 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 comunicación 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
CAPÍTULO 9. Almacenamiento de datos ......................................................... 273
9.1. Alternativas para guardar datos permanentemente en Android ............. 274
9.2. Añadiendo 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 específicos de tu aplicación
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 métodos query() y rawQuery() .................................................... 304
9.7. Utilizando la clase ContentProvider ........................................................ 305
9.7.1. Conceptos básicos ............................................................................ 306
9.7.1.1. El modelo de datos ........................................................................... 306
9.7.1.2. Las URI ............................................................................................ 306
9.7.2. Acceder a la información de un ContentProvider .............................. 307
9.7.2.1. Leer información de un ContentProvider ......................................... 308
9.7.2.2. Escribir información en un ContentProvider ................................... 311
9.7.2.3. Borrar y modificar elementos de un ContentProvider ..................... 312
9.7.3. Creación 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
CAPÍTULO 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. Versión 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. Diseño e implantación de nuestro servicio web ............................... 349
10.3.3.1. Instalación del servidor de servicios web ...................................... 349
10.3.3.2. Creación 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
CAPÍTULO 11. Publicar Aplicaciones ........................................................... 365
11.1. Preparar y testear tu aplicación .............................................................. 366
11.1.1. Preparar la aplicación para distintos tipos de dispositivo ................. 366
11.1.2. Testear la aplicación ......................................................................... 368
11.2. Crear un certificado digital y firmar la aplicación .................................... 370
11.3. Publicar la aplicación ............................................................................... 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

En los últimos años, los teléfonos móviles están transformando la forma en que las personas se comunican. Los nuevos terminales ofrecen unas capacidades similares a las de un ordenador personal. Un teléfono móvil siempre está en el bolsillo del usuario, esto le convierte en el nuevo ordenador personal del siglo XXI. Android es la plataforma libre para el desarrollo de aplicaciones móviles creada por Google. En la actualidad se ha convertido en la plataforma líder frente a otras como iPhone o Windows Phone. Las aplicaciones Android están ampliando su rango de influencia a nuevos dispositivos tales como tabletas, net-books o Google TV. Este libro pretende ser una guía para aquellos lectores que quieran introducirse en la programación en Android. Todos los capítulos son descritos por medio de sencillos ejemplos, aumentando su nivel de complejidad a medida que avanzan los capítulos. La obra está recomendada tanto para usuarios con poca experiencia, como para programadores experimentados. A lo largo del libro se desarrolla una aplicación de ejemplo, el mítico videojuego Asteroides. Comienza con una versión sencilla, que se irá completando capítulo a capítulo, para que incluya gráficos vectoriales y en mapa de bits, control mediante pantalla táctil y sensores, geo-localización, multimedia, ficheros, XML, SQL, acceso a Internet, servicios Web Así cómo publicar en el Google Play Store. El libro propone un aprendizaje activo, con actividades, muchas a través de Internet: Poli[Media] Más de 50 videos elaborados por el autor. Ejercicio paso a paso: La mejor forma de aprender es practicando. Práctica: Para afianzar lo aprendido hay que practicar. Solución: Te será de ayuda si tienes problemas en las prácticas. Recursos adicionales: Localiza rápidamente la información clave. Preguntas de repaso y reflexión: ¿Lo has entendido todo correctamente? Jesús Tomás es doctor en informática, profesor titular del Departamento de Comunicaciones en la Universidad Politécnica de Valencia. Trabaja en múltiples proyectos de investigación y transferencia de tecnología relacionados con inteligencia artificial. Ha publicado gran cantidad de trabajos en revistas científicas y varios libros didácticos sobre nuevas tecnologías. Tiene una amplia experiencia impartiendo cursos de formación en empresas.

Artículos relacionados

  • OFFICE Y COPILOT OPTIMIZA WORD EXCEL POWERPOINT Y TEAMS
    CHEMA GOMEZ
    La Inteligencia Artificial ha transformado las herramientas de Office, convirtiéndolas en asistentes inteligentes que facilitan el trabajo diario.Este libro te guía paso a paso en la integración de la IA en Word, Excel, Powerpoint, Outlook y Teams, mostrando cómo aprovechar al máximo sus funciones avanzadas.? En Word, redacta con mayor precisión gracias al procesamiento de leng...

    27,90 €

  • ENTIENDE LA TECNOLOGÍA
    GENTILE, NATE
    Piénsalo: gracias a los avances tecnológicos podemos hablar con alguien que esté a miles de kilómetros, predecir el tiempo, cruzar el planeta en cuestión de horas, conocer nuestro estado de salud, curar enfermedades graves, acceder al instante a más información de la que nunca seremos capaces de leer... ¡Si incluso hemos conseguido hacer que las máquinas aprendan! ¿Cómo de dif...

    20,90 €

  • CANVA. CURSO COMPLETO
    GÓMEZ, CHEMA
    La guía definitiva y más exhaustiva para dominar Canva, la herramienta de diseño gráfico más accesible y poderosa de nuestros tiempos ...

    19,90 €

  • LA LEY DE LA INTELIGENCIA ARTIFICIAL. PARTE I
    LÓPEZ-AMO SAINZ, ALVARO PABLO
    La extensión del uso la Inteligencia Artificial a un sinfín de actividades de nuestra vida diaria está suponiendo una nueva revolución tecnológica, económica y social. Tal revolución evidencia la necesidad de una regulación legal en la que La Unión Europea, la OCDE y un amplio número de países ya han avanzado.Con un lenguaje claro, didáctico y sin tecnicismos este libro present...

    34,90 €

  • FINAL FANTASY: LEVEL 99
    MARTÍNEZ SUÁREZ, MIGUEL / RUBIO BLÁZQUEZ, NÉSTOR
    Final Fantasy: Level 99 es un bestiario que explora la diversidad de criaturas icónicas de la legendaria saga de videojuegos de Square Enix, desde sus inspiraciones en mitología clásica hasta referencias en la cultura pop y la ciencia-ficción. El libro, coescrito por Miguel Martínez Suárez y Néstor Rubio Blázquez, presenta 99 fascinantes monstruos que han desafiado a los jugado...

    25,95 €

  • MATEMATICAS Y GRAFICOS CON PYTHON
    PRIETO MORLAN
    Con esta obra el lector emprenderá un emocionante viaje a través del mundo de las matemáticas y la visualización de datos utilizando el poderoso lenguaje de programación Python. Este libro no solo ofrece una introducción accesible a los conceptos matemáticos fundamentales, sino que también proporciona las herramientas necesarias para aplicar estos conocimientos a través de la p...

    29,90 €

Otros libros del autor

  • EL GRAN LIBRO DE ANDROID AVANZADO
    TOMÁS GIRONÉS, JESUS
    El libro que tiene en sus manos es una guía para aquellos programadores de Android que, teniendo nociones básicas, quieran profundizar en algunos aspectos de especial interés. Diseño avanzado del interfaz de usuario: Aprenda todas las novedades incorporadas en las últimas versiones de Android, como Fragments, ActionBar, barra de búsquedas, animación de propiedades? Personalice ...

    19,90 €

  • EL GRAN LIBRO DE ANDROID
    TOMÁS GIRONÉS, JESUS
    En los últimos años, los teléfonos móviles están transformando la forma en que las personas se comunican. Los nuevos terminales ofrecen unas capacidades similares a las de un ordenador personal. Un teléfono móvil siempre está en el bolsillo del usuario, esto le convierte en el nuevo ordenador personal del siglo XXI. Android es la plataforma libre para el desarrollo de aplicaci...

    26,40 €

  • EL GRAN LIBRO DE ANDROID
    TOMÁS GIRONÉS, JESÚS
    En los ultimos años, los telefonos móviles están transformando la forma en que las personas se comunican. Esta revolución no ha hecho más que empezar, los nuevos terminales ofrecen unas capacidades similares a un ordenador personal, pero a diferencia de un ordenador, un telÚfono móvil siempre está en el bolsillo del usuario. Esto permite un nuevo abanico de aplicaciones mucho m...

    23,40 €