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.
A continuación 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.
o
Aplicaciones: Este nivel contiene, tanto las
incluidas por defecto de Android como aquellas que el usuario vaya
añadiendo posteriormente. Todas estas aplicaciones utilizan los servicios, las
API y librerías de los niveles anteriores.
o
Framework de Aplicaciones: Representa fundamentalmente el conjunto de
herramientas de desarrollo de cualquier aplicación.
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.
ØView System: Proporciona un gran número de elementos para poder construir
interfaces de usuario (GUI. 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. 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.
o 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.
Entre las librerías más importantes ubicadas aquí, se pueden encontrar
las siguientes:
v Librería libc: Incluye todas las cabeceras y funciones
según el estándar del lenguaje C. 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.
v 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.
v 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.)
v FreeType: Permite trabajar de forma
rápida y sencilla con distintos tipos de fuentes.
v Librería SSL: Posibilita la utilización de dicho
protocolo para establecer comunicaciones seguras.
v Librería SQLite: Creación y gestión de bases de datos
relacionales.
v 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.
o
Tiempo de ejecución de Android: Al mismo nivel que las librerías de Android
se sitúa el entorno de ejecución. Éste lo constituyen las Core Libraries, que
son librerías con multitud de clases Java y la máquina virtual Dalvik.
o
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.
No hay comentarios:
Publicar un comentario