Está en la página 1de 11

Ing.

Jorge Nolasco Valenzuela

DESARROLLO DE
APLICACIONES MÓVILES CON

ANDROID
Mis primeros pasos con Android
Estructura de una aplicación Android
Interfaz de usuario
Estilos y temas
Seguridad de las aplicaciones móviles

EDITORIAL
DESARROLLO DE
APLICACIONES MÓVILES CON

ANDROID

EDITORIAL

España - México - Colombia - Chile - Ecuador - Perú - Bolivia - Uruguay - Guatemala - Costa Rica
Desarrollo de aplicaciones móviles con Android
Autor: Jorge San ago Nolasco Valenzuela

© Derechos de autor registrados:


Empresa Editora Macro EIRL

© Derechos de edición, arte gráfico y diagramación reservados:


Empresa Editora Macro EIRL

Jefe de edición:
Cynthia Arestegui Baca

Diseño de portada:
Alejandro Marcas León

Edición a cargo de:


© Empresa Editora Macro EIRL
Av. Paseo de la República N.° 5613, Miraflores, Lima, Perú

 Teléfono: (511) 748 0560


 E-mail: proyectoeditorial@editorialmacro.com
Página web: www.editorialmacro.com

Primera edición: mayo de 2013


Segunda edición: noviembre de 2014
Primera reimpresión: junio de 2015
Tiraje: 1000 ejemplares

Impresión
Talleres gráficos de la Empresa Editora Macro EIRL
Jr. San Agusơn N.° 612-624, Surquillo, Lima, Perú

ISBN N.° 978-612-304-244-8


Hecho el depósito legal en la Biblioteca Nacional del Perú N.° 2015-07331

Prohibida la reproducción parcial o total, por cualquier medio o método, de este libro sin
previa autorización de la Empresa Editora Macro EIRL.
Ing. Jorge SanƟago Nolasco Valenzuela

Ingeniero de sistemas y egresado de la Escuela de Posgrado de la Universidad Nacional


Federico Villarreal. Catedrá co en la Universidad Inca Garcilaso de la Vega y en la
Universidad Nacional Federico Villarreal.

Entre sus principales pasiones se encuentra la informá ca y las nuevas tecnologías.


Además, colabora frecuentemente en proyectos empresariales, organizaciones
relacionadas al mercado de valores, líneas aéreas y constructoras.
Dedicatoria
A Dios, por darme una vida llena de dichas y
guiar mi camino todos los días de mi vida

A mis padres, Félix y Eva, y a mis hermanos,


quienes siempre estuvieron a mi
lado en todo momento de mi vida
Introducción

El presente libro tulado Desarrollo de aplicaciones móviles con Android ene como obje vo
cons tuir un texto básico para aquellos que quieran incursionar en el mundo de Android y
desean mantenerse a la vanguardia tecnológica.

Está estructurado en 19 capítulos; en los cuales se desarrolla temas relacionados a la


plataforma móvil de Android desde los conceptos generales hasta la estructura misma de
la aplicación, los fragmentos (usos y ejemplos), elementos y caracterís cas de la interfaz de
usuario, es los, temas, sistemas de ges ón de base de datos (SQLite, MySQL), la plataforma
so ware JADE, entre otros.

Emplea una metodología prác ca y visual que facilita el aprendizaje del lector de una
manera sencilla y directa; asimismo presenta ejemplos de aplicación que ayudan a reforzar
lo aprendido.

Como se mencionó anteriormente, Android es una plataforma móvil, que incluye un sistema
opera vo móvil basado en Linux apoyado por Google. Actualmente es el gran compe dor de
iPhone; además, la API de Android se estabilizó en estos úl mos empos. Recientemente,
Google ha publicado su úl ma versión del SDK llamado Android 4.1 (en el año 2012). Cabe
resaltar, que este texto fue escrito en el SDK 4.1 para Android.

Por su parte el diseño de Android se realizó con el obje vo de que sea compa ble con una
amplia gama de hardware. Todo esto gracias al núcleo kernel Linux, que progresivamente
ha evolucionado para apoyar una gran variedad de hardware. Esta caracterís ca de la
plataforma es importante, ya que permite a los fabricantes la libertad de diseñar y adquirir
componentes ideales. Para el desarrollo de las primeras aplicaciones, se ha u lizado las
mejores herramientas tal como el IDE Eclipse.
Índice
Capítulo 1: Tecnologías móviles
1.1. Introducción a las tecnologías móviles ............................................................................................. 15
1.2. Lenguaje Java .................................................................................................................................... 15

Capítulo 2: Mis primeros pasos con Android


2.1. Definición de Android ....................................................................................................................... 19
2.2. Arquitectura ...................................................................................................................................... 20
2.2.1. Núcleo de Android .............................................................................................................................. 21
2.2.2. Librerías .............................................................................................................................................. 21
2.2.3. Entorno de ejecución .......................................................................................................................... 21
2.2.4. Framework ......................................................................................................................................... 22
2.2.5. Aplicaciones ........................................................................................................................................ 22
2.3. Dalvik ................................................................................................................................................ 23
2.4. Requerimientos mínimos de hardware............................................................................................. 23
2.5. Versiones de Android ........................................................................................................................ 24
2.5.1. Android 4.1 ......................................................................................................................................... 26
2.5.2. Android 4.2 ......................................................................................................................................... 30
2.5.3. Cuota de las versiones ........................................................................................................................ 31
2.6. Fragmentación en Android ............................................................................................................... 31
2.7. Mostrar la versión actual de un dispositivo móvil ............................................................................ 33
2.7.1. Códigos ............................................................................................................................................... 33
2.7.2. Ejemplos ............................................................................................................................................. 34
2.8. Disposi vos Android en el mercado ................................................................................................. 35
2.8.1. Smartphones ....................................................................................................................................... 35
2.8.2. Tablets ................................................................................................................................................. 36
2.8.3. E-reader .............................................................................................................................................. 37
2.8.4. Netbooks ............................................................................................................................................. 37
2.8.5. Reproductores MP4 ............................................................................................................................ 37
2.8.6. Internet TV .......................................................................................................................................... 37
2.8.7. Android 4.0, Mini Android TV, Zero Devices Z802, Wi-Fi y HDMI........................................................ 38
2.8.8. Quake 3 para Android ........................................................................................................................ 38
2.8.9. ARCHOS GamePad .............................................................................................................................. 38
2.8.10. Radio ................................................................................................................................................. 38
2.8.11. Automóviles ...................................................................................................................................... 38
2.8.12. Kit Car................................................................................................................................................ 39
2.8.13. Otros disposi vos.............................................................................................................................. 39
2.9. No cias sobre Android...................................................................................................................... 40
2.10. Aplicaciones .................................................................................................................................... 42
2.10.1. Google Play ....................................................................................................................................... 42
2.11. Paquetes Android............................................................................................................................ 45
2.12. Requerimiento de so ware ............................................................................................................ 52
2.12.1. Java JDK ............................................................................................................................................. 52
2.12.2. ADT Bundle ....................................................................................................................................... 52
2.13. Instalación de los paquetes ............................................................................................................ 54
2.14. Android Virtual Devices (AVD) ....................................................................................................... 55
2.14.1. Crear Android Virtual Devices ........................................................................................................... 56
2.14.2. El emulador ....................................................................................................................................... 58
2.14.3. Herramientas de desarrollo de Android (ADT).................................................................................. 62
2.14.4. Configurar Eclipse para acceder al SDK ............................................................................................. 65
2.15. Herramienta alterna va .................................................................................................................. 66
2.15.1. NDK (Na ve Development) ............................................................................................................... 66
2.16. Rootear un disposi vo móvil .......................................................................................................... 67
2.16.1. CyanogenMod ................................................................................................................................... 67

Capítulo 3: Mi primera aplicación


3.1. Crear la primera aplicación ............................................................................................................... 71
3.2. Explorar la aplicación ........................................................................................................................ 75
3.2.1. src/ ..................................................................................................................................................... 75
3.2.2. gen/ .................................................................................................................................................... 75
3.2.3. res/ ..................................................................................................................................................... 75
3.3. Modificar texto ................................................................................................................................. 78
3.4. Atributos de diseño ........................................................................................................................... 80
3.5. Fichero ............................................................................................................................................. 81
3.5.1. Fichero ac vity_main.xml ................................................................................................................... 81
3.5.2. Fichero AndroidManifest.xml (metadatos de la aplicación) ............................................................... 82
3.6. Llevar el aplica vo al disposi vo móvil para ser instalado y ejecutado ............................................ 86
3.7. App gratuita o pagada ....................................................................................................................... 91
3.8. Recomendaciones para el desarrollo de aplicaciones Android ......................................................... 91

Capítulo 4: Estructura de una aplicación Android


4.1. Ac vidad (Ac vity) ............................................................................................................................ 95
4.1.1. Descripción del código de la ac vidad ................................................................................................ 96
4.1.2. Ciclo de vida de las aplicaciones Android ........................................................................................... 98
4.1.3. Orden de los eventos en Android ....................................................................................................... 100
4.1.4. Etapas de una ac vidad (Ac vity ) ...................................................................................................... 101
4.1.5. Antes de codificar el Archivo MainAc vity.Java .................................................................................. 103
4.2. Intents ............................................................................................................................................... 105
4.3. Vistas (Views) .................................................................................................................................... 105
4.4. Servicios (Services)............................................................................................................................ 105
4.5. Proveedores de contenido (Content Providers) ................................................................................ 106
4.6. Receptores de difusión (Broadcast Receivers) .................................................................................. 106

Capítulo 5: Fragmentos
5.1. Concepto de fragmento .................................................................................................................... 109
5.2. Uso de fragmentos ............................................................................................................................ 109
5.2.1. Recomendaciones ............................................................................................................................... 110
5.2.2. Ejemplo ............................................................................................................................................... 110
5.3. Crear fragmentos .............................................................................................................................. 112
5.3.1. Primer fragmento................................................................................................................................ 112
5.3.2. Segundo fragmento ............................................................................................................................ 114
5.4. Presentación de los fragmentos en forma ver cal ........................................................................... 117
5.5. Barra de acciones .............................................................................................................................. 118
5.5.1. Añadir elementos a la barra de herramientas .................................................................................... 119
5.5.2. Añadir métodos .................................................................................................................................. 120
5.5.3. Uso de no ficaciones o toast .............................................................................................................. 124
5.5.4. Ejemplo Meses .................................................................................................................................... 128
Capítulo 6: Interfaz de usuario
6.1. Vista (View) ....................................................................................................................................... 137
6.1.1. ViewGroup .......................................................................................................................................... 137
6.1.2. Organización de las vistas ................................................................................................................... 137
6.2. Layout ............................................................................................................................................... 138
6.2.1. Tipos de layout .................................................................................................................................... 138
6.3. Tipos de botones............................................................................................................................... 139
6.3.1. Bu on ................................................................................................................................................. 139
6.3.2. ToggleBu on (on/off).......................................................................................................................... 141
6.3.3. ImageBu on ....................................................................................................................................... 142
6.4. Vistas de texto................................................................................................................................... 144
6.4.1. TextView.............................................................................................................................................. 144
6.4.2. EditText ............................................................................................................................................... 145
6.5. EjemploBotones ................................................................................................................................ 147
6.6. Eventos de los botones ..................................................................................................................... 149
6.7. EjemploMail ...................................................................................................................................... 151
6.8. Ejemplo_Operaciones ....................................................................................................................... 153
6.9. EjemploControles2............................................................................................................................ 159
6.9.1. AbsoluteLayout ................................................................................................................................... 161
6.10. ListView ........................................................................................................................................... 165
6.10.1. Crear un archivo XML ........................................................................................................................ 165
6.10.2. Diseñar una ListView simple ............................................................................................................ 167
6.10.3. Diseñar una ListView múl ple .......................................................................................................... 170
6.10.4. Diseñar la vista de los elementos de la lista en res/layout/ lista.xml ................................................ 171
6.10.5. Aplicación Pisco................................................................................................................................. 175
6.11. SlidingDrawer (cajón deslizante) ..................................................................................................... 182
6.11.1. ScrollView y HorizontalScrollView ..................................................................................................... 183
6.11.2. Aplicación Wallpaper ........................................................................................................................ 183
6.11.3. Añadir funcionalidad ........................................................................................................................ 188
6.11.4. Modificar el manifiesto ..................................................................................................................... 192
6.12. WebView ........................................................................................................................................ 193

Capítulo 7: Uso de Intents and Services


7.1. Intents ............................................................................................................................................... 199
7.2. Acción ............................................................................................................................................... 199
7.3. Aplicación del uso de Intents ............................................................................................................ 200

Capítulo 8: EsƟlos y temas


8.1. Aplicar es los y temas en Android .................................................................................................... 207
8.1.1. EjemploEs lo ...................................................................................................................................... 207

Capítulo 9: SQLite
9.1. Aspectos generales ........................................................................................................................... 213
9.1.1. Versión actual ..................................................................................................................................... 214
9.2. Instalación de SQLite......................................................................................................................... 214
9.3 Ejemplo Almacenamiento de datos ................................................................................................... 216

Capítulo 10: MySQL


10.1. Aspectos generales ......................................................................................................................... 231
10.1.1. Requisitos de so ware adicional necesario ...................................................................................... 232
10.1.2. Configurar un servidor web localmente............................................................................................ 232
10.2. PHP.................................................................................................................................................. 239
10.2.1. Codificación de la clase ..................................................................................................................... 239
10.3 JavaScript Object Nota on (JSON) ................................................................................................... 243
10.3.1. Conceptos básicos relacionados ....................................................................................................... 249
10.3.2. Sintaxis de JSON ................................................................................................................................ 249
10.3.3. Codificar y decodificar JSON ............................................................................................................. 250

Capítulo 11: SMS


11.1. Introducción .................................................................................................................................... 253
11.2 EjemploSMS ..................................................................................................................................... 253
11.3 EjemploSMS2 ................................................................................................................................... 256
11.4. Ejemplo SMS con mensaje de no ficación ..................................................................................... 259

Capítulo 12: Marke ng


12.1. Aspectos generales ......................................................................................................................... 267
12.2. Orientar la aplicación para un cliente ............................................................................................. 268
12.3. Clasificación de las aplicaciones móviles referente a su funcionalidad .......................................... 268
12.4. Tecnologías móviles en la cadena de valor ..................................................................................... 270
12.5. Red publicitaria móvil AdMob ........................................................................................................ 271
12.5.1. Mediación de redes publicitarias de AdMob .................................................................................... 271
12.5.2. AdMob para desarrolladores ............................................................................................................ 272
12.5.3. Desarrollar para AdMob ................................................................................................................... 274
12.5.4. Estrategias para la comercialización de las aplicaciones móviles ..................................................... 276
12.6. Ejemplo_Marke ng......................................................................................................................... 277
12.7. Facebook para Android ................................................................................................................... 285
12.7.1. Requisitos.......................................................................................................................................... 285
12.7.2. Instalación del SDK de Facebook para Android y el APK Facebook ................................................... 285
12.7.3. Importar el SDK dentro de Eclipse .................................................................................................... 286
12.7.4. Ejecutando los ejemplos ................................................................................................................... 287

Capítulo 13: Seguridad de las aplicaciones móviles


13.1. Introducción .................................................................................................................................... 291
13.2. Seguridad ........................................................................................................................................ 291
13.3. Caracterís cas del disposi vo móvil ............................................................................................... 291
13.4. ROM ................................................................................................................................................ 292
13.4.1. Proceso de inicio en Android ............................................................................................................ 292
13.4.2. Gestor de arranque ........................................................................................................................... 293
13.4.3. El Linux kernel ................................................................................................................................... 293
13.4.4. Proceso init ....................................................................................................................................... 294
13.4.5. Zygote y Dalvik .................................................................................................................................. 296
13.4.6. El servidor del sistema ...................................................................................................................... 297
13.4.7. Arranque completado ....................................................................................................................... 297
13.5. Uso del Linux dentro del disposi vo móvil Android con terminal Emulador .................................. 298
13.5.1. Comandos básicos ............................................................................................................................ 298
13.6. Ingeniería inversa básica ................................................................................................................. 302
13.6.1. Herramientas a u lizar ...................................................................................................................... 303
13.6.2. Formatos de archivo .DEX y .JAR ....................................................................................................... 303
13.6.3. Contenido del archivo pisco.PAK ....................................................................................................... 304
13.7. Santoku ........................................................................................................................................... 305

También podría gustarte