Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 1
Mayo 2014 1
DESARROLLO DE APLICACIONES EN ANDROID
Abraham Gu.érrez Rodríguez
Mayo 2014 2
Abraham Gu.érrez Rodríguez
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 2
Mayo 2014 3
• Android ES: – Una plataforma de desarrollo software para
dispositivos móviles. – Incluye un sistema operativo, el middleware
necesario y un conjunto de aplicaciones. – Basado en el núcleo de Linux. – Es una plataforma de código abierto. • Version 2 de Apache Software License.
Mayo 2014 4
– El SDK de Android, provee de herramientas y APIs necesarios para comenzar a desarrollar aplicaciones en la plataforma Android.
– Su objetivo es abstraer el hardware y facilitar el desarrollo de nuevas aplicaciones.
– Permite el desarrollo de aplicaciones por terceros (personas ajenas a Google) con 2 modalidades: • Lenguaje de programación Java a través de SDK. • Uso de la NDK (Native Development Kit) de Google para
hacer el desarrollo en lenguaje C como código fuente.
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 3
Mayo 2014 5
• Android NO ES: – Únicamente un dispositivo móvil. – Una implementación JAVA ME. – Una marca de telefonía, ni depende de ningún
fabricante. – La respuesta de Google al iPhone.
Mayo 2014 6
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 4
Mayo 2014 7
• Open Handset Alliance (OHA)
Mayo 2014 8
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 5
Mayo 2014 9
Mayo 2014 10
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 6
Mayo 2014 11
Mayo 2014 12
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 7
Mayo 2014 13
Mayo 2014 14
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 8
Mayo 2014 15
Mayo 2014 16
• Conectividad – Navegador integrado: basado en el motor open
Source Webkit. – Telefonía GSM: dependiente del terminal. – Blueetooth, EDGE, 3G, 4GLTE y Wifi: dependiente
del terminal.
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 9
Mayo 2014 17
• Software – Framework de aplicaciones: permite el reemplazo
y la reutilización de los componentes. Contiene emulador, debugger, herramientas de profiling…
– SQlite: base de datos para almacenamiento estructurado que se integra directamente con las aplicaciones.
– Gráficos optimizados con OpenGL ES (3.1 en API 21)
– Máquina virtual Dalvik/ART.
Mayo 2014 18
• Hardware y multimedia – Cámara, GPS, brújula y acelerómetro: Dependiente
del terminal – Pantalla Táctil. – Multimedia: Soporte para medios con formatos
comunes de audio, video e imágenes planas (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 10
Mayo 2014 19
Mayo 2014 20
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 11
Mayo 2014 21
Mayo 2014 22
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 12
Mayo 2014 23
Mayo 2014 24
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 13
Mayo 2014 25
• La arquitectura está diseñada para simplificar la reutilización de componentes; cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer uso de esas capacidades – Sujeto a reglas de seguridad del framework.
• Éste mismo mecanismo permite que los componentes sean reemplazados por el usuario.
Mayo 2014 26
• Aplicaciones – Las aplicaciones base incluirán: un cliente de email,
gestor de SMS, calendario, mapas, navegador, contactos y otros.
– Todas las aplicaciones escritas en el lenguaje de programación Java.
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 14
Mayo 2014 27
• Framework de aplicaciones – Los desarrolladores tienen acceso completo a los
mismos APIs del framework usados por las aplicaciones base.
Mayo 2014 28
• Librerías – Android incluye un set de librerías C/C++ usadas
por varios componentes del sistema Android. • System C library (implementación librería C standard),
librerías de medios, librerías de gráficos, 3d, SQLite…
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 15
Mayo 2014 29
• Runtime de Android – Android incluye un set de librerías base que proveen
la mayor parte de las funcionalidades disponibles en las librerías base del lenguaje de programación Java.
– Cada aplicación Android corre su propio proceso, con su propia instancia de la máquina virtual Dalvik/ART.
La máquina virtual ha sido escrito de forma que un dispositivo puede correr múltiples máquinas virtuales de forma eficiente.
Mayo 2014 30
• Runtime de Android (Dalvik ) – Ejecuta archivos en el formato Dalvik Executable
(.dex), el cual está optimizado para memoria mínima. – La Máquina Virtual está basada en registros, y corre
clases compiladas por el compilador de Java que han sido transformadas al formato (.dex) por la herramienta incluida "dx".
– No es una JVM, no ejecuta bytecode. – Clases de Java ME, AWT o Swing no están
soportadas.
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 16
Mayo 2014 31
¨ Ru
n.me de
And
roid
APK = Ejecutable Dalvik + Re
cursos
Mayo 2014 32
• Runtime de Android (ART) – Escrita en C++ a diferencia de Dalvik que utiliza Java. – A diferencia de Dalvik, que utiliza compilación ”Just- In-
Time" (JIT) para compilar el código de bytes cada vez que se inicia una aplicación, ART introduce el uso de “Ahead-‐Of-‐Time (AOT), precompilación en tiempo de instalación.
– ART u.liza el mismo código de bytes de entrada de Dalvik, suministrada a través de archivos .dex estándar como parte de los archivos APK, mientras que los archivos .odex se reemplazan con ejecutables de Formato Ejecutable y Enlazable (ELF)
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 17
Mayo 2014 33
• Hasta la vista Dalvik, hola ART
Mayo 2014 34
• Núcleo - Linux – Android depende de Linux para los servicios base
del sistema como seguridad, gestión de memoria, gestión de procesos, red, HAL y modelo de drivers.
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 18
Mayo 2014 35
• Núcleo – Linux – Se han eliminado algunas de las carácterísticas de Linux:
no hay soporte para GBLIC, se han eliminado el sistema de ventanas nativo y algunas de las utilidades.
– Se han añadido componentes específicos: Alarm, Android Shared Memory, Logger, Kernel Debugger…
Mayo 2014 36
¨ Inicialización de
la plataform
a
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 19
Mayo 2014 37
Mayo 2014 38
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 20
Mayo 2014 39
Mayo 2014 40
Samsung Tech Ins.tute -‐ UPM Mayo 2014
UPM © 2014 21
Mayo 2014 41
Mayo 2014 42