![Page 1: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/1.jpg)
ANDROIDIniciación al desarrollo de aplicaciones nativas para
sistemas operativos AndroidJavier Téllez
![Page 2: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/2.jpg)
¿Qué es Android?
• Sistema operativo orientado a dispositivos móviles basado en Linux 2.6 (capa HW - SW, kernel)
• 51% del mercado de apps (iOS 40%)
• Lenguaje de desarrollo JAVA
• Framework propio
• Android es gratuito, libre y no requiere licencias
![Page 3: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/3.jpg)
¿Qué es Android?
• Libertad para los programadores a la hora de acceder a las funciones del móvil
• Las apps no difieren del núcleo del teléfono, todas tienen acceso a los mismos servicios.
• Cada aplicación se ejecuta en su propio proceso y máquina virtual, Dalvik, optimizada para entornos bajos en recursos.
![Page 4: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/4.jpg)
Herramientas de desarrollo
• Emulador Android
• Android SDK (plugin Eclipse)
• DDMS ( Dalvik Debug Monitor Service ), gestión de procesos
• ADB (Android Debug Bridge), instalador para el emulador
![Page 5: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/5.jpg)
!
Características!
![Page 6: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/6.jpg)
Características de Android
• La máquina virtual Dalvik: Optimizada para dispositivos móviles.
• Navegador integrado: Basado en el motor del proyecto abierto WebKit. (Safari y Chrome)
• Gráficos optimizados: Suministrados por una librería de gráficos 2D. Los gráficos 3D están basados en la especificación OpenGL ES 1.0, con soporte para aceleración gráfica por hardware.
![Page 7: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/7.jpg)
Características de Android• SQLite: Para estructurar el almacenamiento de datos.
• Soporte multimedia: Común para audio, video, imágenes, soportando varios formatos (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
• Telefonía GSM
• Bluetooth, 3G, 4G, y WiFi (Si el hardware lo soporta).
• Cámara, GPS, brújula y acelerómetro (Si el hardware lo soporta).
• Completo entorno de desarrollo: Incluye un dispositivo emulador, herramientas de depuración, y un plugin para el IDE Eclipse
![Page 8: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/8.jpg)
!
Arquitectura!
![Page 9: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/9.jpg)
Arquitectura de Android• Aplicaciones: Las aplicaciones base incluyen un cliente
de email, programa de SMS, calendario, mapas, navegador, contactos, y otros. Todas las aplicaciones son escritas en el lenguaje de programación Java.
• Framework de aplicaciones: Los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base.
• Librerías: incluye un conjunto de librerías C/C++ usadas por varios componentes del sistema Android. (librerías de medios, librerías de gráficos, 3d, SQLite, entre otras)
![Page 10: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/10.jpg)
Arquitectura de Android
• Núcleo - Linux: Android depende de un Linux versión 2.6 para los servicios base del sistema como seguridad, gestión de memoria, gestión de procesos, stack de red, y modelo de drivers. El núcleo también actúa como una capa de abstracción entre el hardware y el resto del stack de software.
![Page 11: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/11.jpg)
![Page 12: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/12.jpg)
!
Componentes de una aplicación!
![Page 13: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/13.jpg)
Componentes• Actividades: Pantalla de la interfaz de usuario, una aplicación puede tener una o
mas actividades
• Las vistas (view) son los componentes básicos con los que se construye la interfaz gráfica de la aplicación
• Layout: Contenedores de elementos gráficos.
• Intent: se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicación o entre distintas aplicaciones. Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicación, etc.
• Servicios: Tarea que se ejecuta en segundo plano. Ej.: reproducir música en segundo plano
• Fragments: Porciones independientes con diseño y lógica para integrar en una actividad.
![Page 14: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/14.jpg)
Componentes• Content Provider: un proveedor de contenidos
(content provider) es el mecanismo que se ha definido en Android para compartir datos entre aplicaciones.
• Broadcast Receiver: componente destinado a detectar y reaccionar ante determinados mensajes o eventos globales generados por el sistema.
• Widget: elementos visuales, normalmente interactivos, que pueden mostrarse en la pantalla principal (home screen) del dispositivo Android
![Page 15: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/15.jpg)
!
Estructura básica de una aplicación en ANDROID!
![Page 16: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/16.jpg)
![Page 17: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/17.jpg)
Estructura• src: Clases java. Es decir, código.
• res: Recursos necesarios para la app
• drawable-?dpi: imágenes o ficheros XML que dibujen una imagen u objeto gráfico.
• layout: ficheros XML que dibujan la UI.
• values: ficheros XML que contienen valores estáticos: etiquetas de texto, de botones, colores, etc
![Page 18: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/18.jpg)
Estructura
• AndroidManifest.xml: Parámetros de configuración de la aplicación como permisos, qué Activity es la principal, etc.
• Assets: recursos tipográficos, raw,…
![Page 19: Presentacion para la Flagship Store de Telefónica](https://reader034.vdocuments.pub/reader034/viewer/2022051514/54812b44b4af9faa158b5f2b/html5/thumbnails/19.jpg)