17
Android

Android arquitectura y caracteristicas

Embed Size (px)

DESCRIPTION

En este documento podrás encontrar todo hacerca de la arquitectura y las caracteristicas que tiene android y tambien un vs frente a otros S.O com iOS o W Phone

Citation preview

Presentacin de PowerPoint

Android

Arquitectura Android Como ya se ha mencionado, Android es una plataforma para dispositivos mviles que contiene una pila de software donde se incluye un sistema operativo, middleware y aplicaciones bsicas para el usuario.

En las siguientes lneas se dar una visin global por capas de cul es la arquitectura empleada en Android. Cada una de estas capas utiliza servicios ofrecidos por las anteriores, y ofrece a su vez los suyos propios a las capas de niveles superiores, tal como muestra la siguiente figura:

Este nivel contiene, tanto las incluidas por defecto de Android como aquellas que el usuario vaya aadiendo posteriormente, ya sean de terceras empresas o de su propio desarrollo. Todas estas aplicaciones utilizan los servicios, las API y libreras de los niveles anteriores.Aplicaciones

Framework de AplicacionesEntre las API ms importantes ubicadas aqu, se pueden encontrar las siguientes:

Activity Manager: Conjunto de API que gestiona el ciclo de vida de las aplicaciones en Android.

Window Manager: Gestiona las ventanas de las aplicaciones y utiliza la librera Surface Manager.

Telephone Manager: Incluye todas las API vinculadas a las funcionalidades propias del telfono (llamadas, mensajes, etc.).

Content Provider: Permite a cualquier aplicacin compartir sus datos con las dems aplicaciones de Android. Por ejemplo, gracias a esta API la informacin de contactos, agenda, mensajes, etc. ser accesible para otras aplicaciones.

View System: Proporciona un gran nmero de elementos para poder construir interfaces de usuario (GUI), como listas, mosaicos, botones, "check-boxes", tamao de ventanas, control de las interfaces mediante teclado, etc. Incluye tambin algunas vistas estndar para las funcionalidades ms frecuentes.

Location Manager: Posibilita a las aplicaciones la obtencin de informacin de localizacin y posicionamiento.

Notification Manager: Mediante el cual las aplicaciones, usando un mismo formato, comunican al usuario eventos que ocurran durante su ejecucin: una llamada entrante, un mensaje recibido, conexin Wi-Fi disponible, ubicacin en un punto determinado, etc. Si llevan asociada alguna accin, en Android denominada Intent, (por ejemplo, atender una llamada recibida) sta se activa mediante un simple clic.

XMPP Service: Coleccin de API para utilizar este protocolo de intercambio de mensajes basado en XML. Entre las libreras ms importantes ubicadas aqu, se pueden encontrar las siguientes:

Librera libc: Incluye todas las cabeceras y funciones segn el estndar del lenguaje C. Todas las dems libreras se definen en este lenguaje.

Librera Surface Manager: Es la encargada de componer los diferentes elementos de navegacin de pantalla. Gestiona tambin las ventanas pertenecientes a las distintas aplicaciones activas en cada momento.

OpenGL/SL y SGL: Representan las libreras grficas y, por tanto, sustentan la capacidad grfica de Android. OpenGL/SL maneja grficos en 3D y permite utilizar, en caso de que est disponible en el propio dispositivo mvil, el hardware encargado de proporcionar grficos 3D. Por otro lado, SGL proporciona grficos en 2D, por lo que ser la librera ms habitualmente utilizada por la mayora de las aplicaciones. Una caracterstica importante de la capacidad grfica de Android es que es posible desarrollar aplicaciones que combinen grficos en 3D y 2D.

Librera Media Libraries: Proporciona todos los cdecs necesarios para el contenido multimedia soportado en Android (vdeo, audio, imgenes estticas y animadas, etc.)

FreeType: Permite trabajar de forma rpida y sencilla con distintos tipos de fuentes.

Librera SSL: Posibilita la utilizacin de dicho protocolo para establecer comunicaciones seguras.

Librera SQLite: Creacin y gestin de bases de datos relacionales.

Librera WebKit: Proporciona un motor para las aplicaciones de tipo navegador y forma el ncleo del actual navegador incluido por defecto en la plataforma Android.LibrerasTiempo de ejecucin de AndroidAl mismo nivel que las libreras de Android se sita el entorno de ejecucin. ste lo constituyen las Core Libraries, que son libreras con multitud de clases Java y la mquina vistual Dalvik.

Ncleo LinuxAndroid utiliza el ncleo de Linux 2.6 como una capa de abstraccin para el hardware disponible en los dispositivos mviles. Esta capa contiene los drivers necesarios para que cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes. Siempre que un fabricante incluye un nuevo elemento de hardware, lo primero que se debe realizar para que pueda ser utilizado desde Android es crear las libreras de control o drivers necesarios dentro de este kernel de Linux embebido en el propio Android.

Toda aplicacin que crees para android sigue una misma estructura bsica, que se compone del cdigo fuente en s, archivos de recursos y vistas, libreras de cdigo y el android manifest.

Directorio SRCSe encuentra toda la lgica de aplicacin, todas las clases programadas en JAVA. Dentro de ella puedes definir distintos paquetes, donde puedes dividir en capas tus reglas de negocio.

Android LibraryAqu se encuentran todas las libreras propias del SDK de android, dependiendo la versin elegida al crear el proyecto tendr una versin u otra.Estructura de una Aplicacin Android

Directorios RES

Se encuentran todos los archivos con los recursos que usan la aplicacin. Las imgenes, archivos de idiomas, estilos, etc.. Un pequeos listado de estos puede ser:Drawable => Carpeta con todas las imgenes de la app. Se subdivide en mltiples carpetas desde la versin 1.6, que contienen las imgenes en distintas resoluciones y tamaos que se usarn dependiendo el dispositivo usado.Directorio layout => Aqu se encuentran las distintas pantallas de la aplicacin, es decir, los archivos xml con las interfaces visual asociadas a las activities.Values => Carpeta con los xml de contenido de la app. En ella puede haber definidas las constantes de la aplicacin, dando la posibilidad del multidioma. Tambin puedes definir estilos para tus componentes. Y todo tipo de configuraciones.

Directorio binAqu se encuentran todos los archivos generados por la propia app. Como sabeis, android usa la mquina virtual dalvik, primero se traduce a los tpicos archivos .class de java y posteriormente es traducido a los archivo .dex propios de android.

Tambin esta el ejecutable de la aplicacin "apk", sera el equivalente a los "exe" de windows. Es el archivo que deberas instalar en cualquier telfono android para probar la aplicacin.

Directorio genEn esta carpeta esta el archivo R.class, ste contiene lo identificadores los recursos usados por tu proyecto: imgenes, layout, etc...

Comparacin entre iOS vs Android vs Windows Phone

En el parque mvil de nuestro pas, todava podemos encontrar hasta 10 sistemas operativos diferentes. Bada, Symbian, Blakberry y los sistemas propietarios de los terminales de gama de entrada, conviven con los ms extendidos Windows Phone, iOS y sobre todo Android.

Es evidente que Android es el OS mvil nmero uno en el mundo, en parte porque ha sabido ganarse el favor de los usuarios versin tras versin y, para que negarlo, porque est presente por igual en los terminales ms econmicos y en los dispositivos de gama alta.

Dentro de esta "foto" estadstica, hoy vamos a comparar Android 4.1 de Google, iOS 6 de Apple y Windows Phone 8 de Microsoft, tomando como referencia tres aspectos generales importantes: el interfaz de usuario, la navegacin web y los mapas.Android de Google es el sistema ms extendido en el parque mvil mundial, el ms abierto al desarrollo y el que tiene una ingente cantidad de apps interesantes que no vamos a encontrar fuera de Google Play. Adems, la comunidad de Android en internet es tan grande, que nos garantiza una larga vida del sistema sin necesidad de esperar a las actualizaciones de los fabricantes de dispositivos.

El iOS de Apple es el sistema con ms aplicaciones disponibles (aunque tiene a Android pisndole los talones), el ms seguro, el ms estable y el que ofrece las actualizaciones de sistema de forma ms transparente. Su interfaz de usuario es la ms sencilla, y posiblemente tambin la mejor en trminos de usabilidad.

Windows Phone 8 es el que mejor responde en dispositivos con procesador modesto y escasez de memoria RAM, el ms fcil de usar, tiene los mejores mapas y una estupenda integracin multiplataforma con Windows 8, adems de con la comunidad de jugadores de Xbox. Nokia, HTC y Samsung son algunos de los fabricantes punteros que estn apostando por l, veremos cmo avanza en 2013.