Está en la página 1de 21

Desarrollo de aplicaciones mviles en Android

ndice
Historia Qu es Android? Arquitectura del sistema Entorno de desarrollo Arquitectura de las aplicaciones Almacenamiento de datos Multimedia Prctica final

Objetivos
Arquitectura del sistema
Analizar la arquitectura que compone el sistema operativo Android. Caractersticas de la mquina Dalvik. Conocer la principales libreras de incluidas en la plataforma Android. Framework aplicaciones Android. Caractersticas fundamentales del Android market.

Arquitectura Sistema

Arquitectura Sistema: Linux Kernel

Versin 2.6.x del kernel de Linux. Capa de abstraccin entre el hardware y el software. Android aprovecha:
La seguridad. Gestin de memoria. Gestin de procesos. Red y modelo de drivers.
5

Arquitectura Sistema: Linux Kernel (II)


Relacin versiones Linux por versin Android Versin Android Android 1.5 (Cupcake) Android 1.6 (Donut) Android 2.0 (Eclair) Android 2.2 (Froyo) Gingerbread
6

Versin Linux 2.6.27 2.6.29 2.6.29 2.6.32 2.6.33

Arquitectura Sistema: Libreras Android

Conjunto de libreras (C & C++) usadas por varios componentes Android del sistema (Application Framework).
Surface Manager: Gestin del acceso a la pantalla. Media Framework: Reproduccin de imgenes, audio y video. SQLite: Pequea base de datos relacional. WebKit: Navegador (Browser) optimizado. SGL: Grficos 2D. Open GL | ES: Libreras 3D. FreeType: Renderizacin de vectores e imgenes (bitmap).
7

Arquitectura Sistema: Android runtime

Core Libraries: Formado por un subconjunto de Apache Harmony.


Implementacin open source y libre de Java.

Utiliza el Kernel de Linux para la ejecucin de aplicaciones (1 aplicacin = 1 proceso = 1 DVM) Mquina virtual Dalvik, con cdigo preparado teniendo en cuenta la duracin de la batera y la limitacin de memoria.
8

Arquitectura Sistema: Dalvik Virtual Machine


Condicionantes de los dispositivos mviles
Poca duracin de la batera. Recursos muy escasos (memoria, cpu). Limitaciones visuales (pantallas poca resolucin). Comparticin y priorizacin de recursos.

Caractersticas de la DVM
Usada en entornos con restricciones de memoria y procesador. Herramienta dx convierte .class (clase o aplicacin en JAVA) a dex. Ejecuta aplicaciones en formato .dex (Dalvik EXecutable). Permite la ejecucin de varias instancias a la vez. No es una JVM, no ejecuta bytecode sino registros. Clases de Java ME, AWT o Swing no estn soportadas.
9

.JAVA

javac
.CLASS

JVM

dx
.DEX

DVM

Arquitectura Sistema : Framework de aplicaciones

Proporciona una plataforma abierta para el desarrollo que permite la reutilizacin de componentes. A travs del framework, el desarrollador puede acceder a los dispositivos, informacin de ubicacin, ejecutar servicios, etc,. Las aplicaciones del core utilizan este mismo APIs framework . Views, Content Providers, Managers...
10

Arquitectura Sistema: Capa de aplicaciones

En esta capa se ubicarn las aplicaciones preinstaladas y las desarrolladas por el desarrollador . Aplicaciones escritas en lenguaje JAVA. Aplicaciones incluidas por defecto:
Cliente email Gestor SMS Navegador Contactos Android Market
11

.JAVA

javac
.CLASS

JVM

dx
.DEX

DVM

aapt
.APK

ZIP

Arquitectura Sistema II

12

Arquitectura Sistema: Android Market

Permite distribuir aplicaciones de manera sencilla. Cualquier desarrollador puede publicar en el Market, previo pago nico de 25$.
Incluso aplicaciones no firmadas. 70% para el desarrollador / 30% para Google. No se revisan las aplicaciones que se suben. Seleccin a travs de votaciones y comentarios. Se pueden eliminar apps del market si daan dispositivos, invasin de privacidad, etc.

Slo en 9 pases apps de pago. <100k apps: 65% Gratuitas vs 35% Pago.
13

Cifras
Tamao de las tiendas Nmero total de apps
Agosto 2010 - Distimo

Cifras
Crecimiento tiendas trimestral Mayo 2010 - Distimo

Cifras
Gratis vs De Pago Julio 2010 - Distimo

Cifras
Comparativas de precio Precio medio app de pago
(Distimo Mayo 2010)

Cifras
Tener el mayor nmero de aplicaciones no

implica tener el mayor nmero de terminales y viceversa!

Cifras
Y los desarrolladores, Qu plataforma prefieren?

Cifras
Que les motiva a los desarrolladores para decantarse por una plataforma

Conclusiones
Arquitectura del sistema
Analizar la arquitectura que compone el sistema operativo Android. Caractersticas de la mquina Dalvik. Conocer la principales libreras de incluidas en la plataforma Android. Framework aplicaciones Android. Caractersticas fundamentales del Android market.

21