Como ya se ha mencionado, Android es una plataforma para dispositivos
móviles que contiene una pila de software donde se incluye un sistema
operativo, middleware y aplicaciones básicas para el usuario.
En las siguientes líneas se dará una
visión global por capas de cuál 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 ((c) Google):
- Aplicaciones:
Este nivel contiene, tanto las incluidas por
defecto de Android como aquellas que el usuario vaya añadiendo
posteriormente, ya sean de terceras empresas o de su propio desarrollo.
Todas estas aplicaciones utilizan los servicios, las API y librerías de
los niveles anteriores.
- Framework
de Aplicaciones: Representa
fundamentalmente el conjunto de herramientas de desarrollo de cualquier
aplicación. Toda aplicación que se desarrolle para Android, ya sean las
propias del dispositivo, las desarrolladas por Google o terceras
compañías, o incluso las que el propio usuario cree, utilizan el mismo
conjunto de API y el mismo "framework", representado por este
nivel.
Entre
las API más 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 librería Surface Manager.
· Telephone Manager: Incluye todas las API
vinculadas a las funcionalidades propias del teléfono (llamadas, mensajes,
etc.).
· Content Provider: Permite a cualquier aplicación compartir sus
datos con las demás aplicaciones de Android. Por ejemplo, gracias a esta API
la información de contactos, agenda, mensajes, etc. será accesible para otras
aplicaciones.
· View System: Proporciona un gran número de elementos para
poder construir interfaces de usuario (GUI), como listas, mosaicos, botones,
"check-boxes", tamaño de ventanas, control de las interfaces
mediante teclado, etc. Incluye también algunas vistas estándar para las
funcionalidades más frecuentes.
·
Location
Manager: Posibilita
a las aplicaciones la obtención de información de localización y posicionamiento.
· Notification Manager: Mediante el cual las aplicaciones, usando un
mismo formato, comunican al usuario eventos que ocurran durante su ejecución:
una llamada entrante, un mensaje recibido, conexión Wi-Fi disponible,
ubicación en un punto determinado, etc. Si llevan asociada alguna acción, en
Android denominada Intent, (por ejemplo, atender una llamada recibida)
ésta se activa mediante un simple clic.
· XMPP Service: Colección de API para utilizar este protocolo de
intercambio de mensajes basado en XML.
- Librerías:
La siguiente capa se corresponde con las
librerías utilizadas por Android. Éstas han sido escritas utilizando
C/C++ y proporcionan a Android la mayor parte de sus capacidades más
características. Junto al núcleo basado en Linux, estas librerías
constituyen el corazón de Android.
Entre las librerías más importantes ubicadas aquí, se pueden encontrar las
siguientes:
· Librería libc: Incluye todas las cabeceras y funciones
según el estándar del lenguaje C. Todas las demás librerías se definen en
este lenguaje.
· Librería
Surface Manager: Es la
encargada de componer los diferentes elementos de navegación de pantalla.
Gestiona también las ventanas pertenecientes a las distintas aplicaciones
activas en cada momento.
· OpenGL/SL y SGL: Representan las librerías gráficas y, por tanto,
sustentan la capacidad gráfica de Android. OpenGL/SL maneja gráficos en 3D y
permite utilizar, en caso de que esté disponible en el propio dispositivo
móvil, el hardware encargado de proporcionar gráficos 3D. Por otro lado, SGL
proporciona gráficos en 2D, por lo que será la librería más habitualmente
utilizada por la mayoría de las aplicaciones. Una característica importante
de la capacidad gráfica de Android es que es posible desarrollar aplicaciones
que combinen gráficos en 3D y 2D.
· Librería Media
Libraries: Proporciona
todos los códecs necesarios para el contenido multimedia soportado en Android
(vídeo, audio, imágenes estáticas y animadas, etc.)
· FreeType: Permite trabajar de forma rápida y sencilla
con distintos tipos de fuentes.
· Librería SSL: Posibilita la utilización de dicho protocolo para
establecer comunicaciones seguras.
· Librería SQLite: Creación y gestión de bases de datos relacionales.
· Librería WebKit: Proporciona
un motor para las aplicaciones de tipo navegador y forma el núcleo del actual
navegador incluido por defecto en la plataforma Android.
- Tiempo de ejecución de Android: Al mismo nivel que las librerias de Android
se sitúa el entorno de ejecución. Éste lo constituyen las Core
Libraries, que son librerias con mulititud de clases Java y la máquina
vistual Dalvik.
- Núcleo Linux: Android utiliza el núcleo de Linux 2.6
como una capa de abstracción para el hardware disponible en los
dispositivos móviles. 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 librerias de control o drivers necesarios
dentro de este kernel de Linux embebido en el propio Android.
|
No hay comentarios:
Publicar un comentario