Descripción
Con el surgimiento de los teléfonos inteligentes, aparecieron también grandes dificultades para desarrollar aplicaciones móviles compatibles con todos los dispositivos. Hoy en día, dicho problema ha sido superado gracias a la aparición del sistema operativo Android, que es capaz de servir de soporte a una gran variedad de aplicaciones y dispositivos. Este libro trata detalladamente sobre este sistema y tiene como objetivo iniciar y orientar al lector interesado en el amplio mundo del desarrollo de aplicaciones móviles.
Este libro comprende temas como la programación orientada a objetos, el manejo de Android Studio, el tratamiento de los controles para programación en Android, el desarrollo de HTML5, los códigos ocultos, las aplicaciones más recomendadas, entre otros. Cuenta, además, con una parte práctica basada en ejercicios desarrollados que reforzarán y estimularán al lector a explotar todo su potencial lógico.
La presente obra está dirigida a estudiantes de informática, ingeniería de sistemas y afines. Asimismo, a todos aquellos que busquen innovar e implementar aplicaciones móviles con Android.
Además, en la parte inferior de la primera página del libro encontrará el código de acceso que le permitirá acceder de forma gratuita a los contenidos adicionales del libro en www.marcombo.info .
Índice
Introducción...........................................................17
Capítulo 1: Introducción a las tecnologías móviles
1.1 Introducción.............................................................................21
1.2 Arquitectura de las tecnologías móviles..............................................22
1.3 Tipos de aplicaciones................................................................22
1.3.1 Aplicaciones o apps.................................................................22
1.3.2 Sistemas.............................................................................23
1.3.3 Administración de la información..............................................23
1.4 Sistemas operativos móviles...................................................23
1.4.1 iOS (iPhone OS).............................................23
1.4.2 Android............................................................................24
1.4.3 Windows Phone..........................................................................24
1.4.4 Tizen..........................................................................24
1.4.5 WebOS.............................................................................................24
1.5 Componentes de un sistema operativo móvil.................................25
1.5.1 Las aplicaciones............................................................25
1.5.2 Estructuras de una aplicación..............................................28
1.5.3 Bibliotecas................................................................29
1.5.4 El núcleo Kernel.....................................................................30
1.6 Android..............................................................................31
1.6.1 Historia...........................................................................31
1.6.2 Características................................................32
1.6.3 Versiones.........................................................................32
1.7 Proceso de diseño y desarrollo de una aplicación Android................34
1.7.1 Análisis........................................................................34
1.7.2 Formalización del proyecto.....................................................34
1.7.3 Maquetado......................................................................34
1.7.4 Codificación..................................................................35
1.7.5 Publicación..............................................................................35
Capítulo 2: Programación orientada a objetos con Java
2.1 Introducción..................................................................................39
2.2 Conceptos en programación orientada a objetos.............................40
2.2.1 Paquetes...............................................................................40
2.2.2 Alcance de los elementos contenidos en un paquete.....................................41
2.3 Clases en Java....................................................................42
2.3.1 Partes de una clase........................................................................42
2.3.2 Atributos de una clase...............................................44
2.3.3 Métodos en las clases......................................................46
2.4 Objetos en Java..............................................................48
2.5 Métodos get y set......................................................................50
2.6 Implementación de métodos get y set con Android Studio......................53
2.7 Método constructor...................................................55
2.8 Referencia this...................................................56
Capítulo 3: Android Studio y desarrollo inicial de aplicaciones
3.1 Android Studio 2.0.................................................................61
3.2 Características del Android Studio..............................................61
3.3 Máquina virtual................................................................61
3.3.1 Máquina virtual ART (Android Runtime)..............................63
3.3.2 Tecnología AOT (AHead Of Time).........................64
3.4 Requerimientos mínimos para la instalación de Android Studio....................64
3.5 Proceso de instalación de Android Studio................................65
3.6 Descripción de las pantallas iniciales de Android Studio.........................68
3.7 Android SDK..........................................................71
3.8 AVD Manager.....................................................................73
3.9 Creando un nuevo proyecto........................................................75
3.10 Descripción de la pantalla principal Android Studio.........................79
3.10.1 Paleta de proyectos (Project)....................................................79
3.10.2 AndroidManifest......................................................................84
3.10.3 Características del AndroidManifest...................................84
3.10.4 Elementos que componen un AndroidManifest.....................84
3.10.5 Cambiando características de la aplicación usando AndroidManifest...........................87
3.11 Paleta de herramientas de actividad.......................................................89
3.12 Controles del emulador.........................................................91
3.13 Árbol de componentes.....................................................93
3.14 Propiedades de los controles....................................93
3.15 Ejecución de la aplicación en el emulador.................................94
3.16 Descripción del emulador estándar..........................................95
3.17 Unidades de medida.............................................................96
3.18 Recursos Android.........................................................96
3.18.1 Drawable..............................................................................97
3.18.2 Layout.............................................................................98
3.18.3 Mipmap..............................................................................106
3.18.4 Values.........................................................................111
Capítulo 4: Controles de una aplicación Android
4.1 Controles layout.................................................................119
4.1.1 LinearLayout...................................................................119
4.1.2 FrameLayout........................................................................129
4.1.3 TableLayout...........................................................................137
4.2 Controles de texto..................................................144
4.2.1 TextView..............................................................144
4.2.2 EditText......................................................................148
4.3 Controles de acción.............................................153
4.3.1 Button.......................................................................153
4.3.2 ToggleButton..............................................158
4.3.3 ImageButton....................................................162
4.4 Intent.......................................................................168
Capítulo 5: Juegos
5.1 Aspectos generales.................................................................183
5.2 Aplicación de Canvas: líneas, rectángulos y círculos.............................184
5.2.1 Dibujar una línea vertical.........................................................187
5.2.2 Dibujar rectángulos............................................................188
5.2.3 Dibujar un círculo...................................................................189
5.3 Aplicación de Canvas: texto.......................................190
5.4 Aplicación de fuentes externas: texto.....................................191
5.5 Datos..............................................193
5.5.1 Persistencia y preferencia......................................................193
5.5.2 Aplicación sobre el uso de Preferencias.........................................193
5.6 DisplayMetrics.............................................................198
Capítulo 6: Introducción a la inteligencia artificial: Agentes Android y dispositivos móviles
6.1 Introducción....................................................................221
6.2 Descripción de la aplicación..................................................................222
6.3 JADE programación para Android...............................................222
6.4 Conceptos básicos......................................................................228
6.4.1 Web semántica...................................................................228
6.4.2 Implementar la web semántica...............................................231
6.4.3 Componentes de programación...............................................234
6.4.4 Herramientas...............................................................................235
6.4.5 Impactos de la web semántica en la programación......................236
6.4.6 Razonador...............................................................................236
6.4.7 Lógica descriptiva..............................................................238
6.4.8 Lenguajes de la web semántica....................................................239
6.4.9 Pellet..................................................................241
6.5 Jena...................................................................................242
6.5.1 Características........................................................242
6.5.2 Procesamiento de la API RDF y OWL..............................243
6.5.3 Mecanismo de inferencia en Jena.........................................244
6.5.4 Consultas SPARQL (estándar de la W3C) en Jena................244
6.5.5 Procesamiento de importaciones ontológicas...........................................256
6.5.6 Insertar un razonador al modelo..................................................258
6.5.7 Resumen de razonadores..........................................................260
6.5.8 Consultar un modelo...........................................260
6.5.9 Jena persistencia..................................................261
6.5.10 Jena SDB...................................................................261
6.5.11 Instalación en Windows ...........................261
6.5.12 Construcción del modelo persistente en la base de datos Mysql y carga de los datos por la consola Cygwin.................264
6.5.13 Aplicación Java utilizando la API Jena/SDB..........................265
6.5.14 Jena/SDB diseños de base de datos...............................270
6.6 Anexos.........................................................271
6.6.1 RDF (Resource Description Framework).....................271
6.6.2 RDFS (rdfschema) ...........................................273
6.6.3 D2r Server..........................................273
6.6.4 D2RQ con Jena......................................276
Capítulo 7: HTML 5
7.1 Introducción.............................................279
7.2 Requerimiento de Software........................................................279
7.2.1 PhoneGap....................................................................................279
7.3 Canvas...........................................................................282
7.3.1 Conceptos básicos sobre Canvas....................................................282
7.3.2 Drawimage()....................................................................289
7.4 Manejo de eventos en HTML5.............................................290
7.4.1 Método addEventListener().........................................................290
7.5 Ejemplo HTML5 básico..............................291
Capítulo 8: Google Maps Android API V3
8.1 Introducción..............................................................315
8.2 Coordenadas....................................................................................321
8.3 Ejemplo Mapa 1........................................................322
8.4 Ejemplo Mapa 2...................................................328
8.5 Ejemplo Mapa 3...........................................333
8.6 Marcadores...........................................................................336
8.7 Ejemplo Mapa 4..............................................................337
8.8 Ejemplo Mapa 5...............................................341
Capítulo 9: Códigos ocultos en su dispositivo móvil
9.1 Código......................................................................................349
9.1.1 Lista de los diferentes códigos................................................349
9.1.2 Códigos para obtener información del firmware......................350
9.1.3 Códigos para ejecutar diferentes tests de fábrica...........................350
Capítulo 10: Las mejores aplicaciones para Android
10.1 WhatsApp..............................................353
10.2 Facebook...................................................................353
10.3 Spotbros.............................................................................353
10.3.1 Características........................................................353
10.4 Twitter............................................................354
10.5 Otras aplicaciones.......................................................354
Referencias bibliográficas .............................................359