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:
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 mas 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 mas importantes ubicadas aquí, se pueden encontrar la 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