Arquitectura de Android

El sistema operativo Android es una pila de componentes de software que se divide aproximadamente en cinco secciones y cuatro capas principales, como se muestra a continuación en el diagrama de arquitectura.

Kernel de Linux

En la parte inferior de las capas se encuentra Linux – Linux 3.6 con aproximadamente 115 parches. Esto proporciona un nivel de abstracción entre el hardware del dispositivo y contiene todos los controladores de hardware esenciales como cámara, teclado, pantalla, etc. Además, el kernel maneja todas las cosas en las que Linux es realmente bueno, como las redes y una amplia gama de controladores de dispositivos.

 

Librerias

En la parte superior del kernel de Linux hay un conjunto de librerías que incluyen el motor de navegador web de código abierto WebKit, la conocida librería libc, la base de datos SQLite, que es un repositorio útil para el almacenamiento y el intercambio de datos de aplicaciones, librerías para reproducir y grabar audio y video, SSL librerías responsables de la seguridad en internet, etc.

 

Librerias de Android

Esta categoría abarca aquellas bibliotecas basadas en Java que son específicas para el desarrollo de Android. Los ejemplos de bibliotecas en esta categoría incluyen las bibliotecas del marco de la aplicación, además de las que facilitan la creación de interfaces de usuario, el dibujo de gráficos y el acceso a la base de datos. A continuación, se presenta un resumen de algunas bibliotecas clave de Android disponibles para el desarrollador de Android:

android.app − Proporciona acceso al modelo de la aplicación y es la piedra angular de todas las aplicaciones de Android.

android.content − Facilita el acceso al contenido, la publicación y la mensajería entre aplicaciones y componentes de aplicaciones.

android.database − Se utiliza para acceder a los datos publicados por los proveedores de contenido e incluye clases de gestión de bases de datos SQLite.

android.opengl − Una interfaz de Java para la API de representación de gráficos 3D de OpenGL ES.

android.os − Proporciona aplicaciones con acceso a servicios estándar del sistema operativo, incluidos mensajes, servicios del sistema y comunicación entre procesos.

android.text − Se utiliza para representar y manipular texto en la pantalla de un dispositivo.

android.view − Los bloques de construcción fundamentales de las interfaces de usuario de la aplicación.

android.widget − Una amplia colección de componentes de interfaz de usuario predefinidos, como botones, etiquetas, vistas de lista, gestores de diseño, botones de radio, etc.

android.webkit − Un conjunto de clases destinadas a permitir que las capacidades de navegación web se incorporen en las aplicaciones.

Habiendo cubierto las bibliotecas principales basadas en Java en el Runtime de Android, ahora es el momento de centrar nuestra atención en las bibliotecas basadas en C / C ++ contenidas en esta capa de la pila de software de Android.

 

Runtime de Android

Esta es la tercera sección de la arquitectura y está disponible en la segunda capa desde la parte inferior. Esta sección proporciona un componente clave llamado Máquina virtual Dalvik, que es un tipo de máquina virtual Java especialmente diseñada y optimizada para Android.

La máquina virtual de Dalvik utiliza las funciones principales de Linux, como la gestión de memoria y los subprocesos múltiples, que es intrínseco en el lenguaje Java. Dalvik VM permite que cada aplicación de Android se ejecute en su propio proceso, con su propia instancia de la máquina virtual Dalvik.

El Runtime de Android también proporciona un conjunto de librerias centrales que permiten a los desarrolladores de aplicaciones de Android escribir aplicaciones de Android utilizando el lenguaje de programación estándar de Java.

 

Framework de Aplicaciones

El Framework de aplicaciones proporciona muchos servicios de alto nivel para aplicaciones en forma de clases Java. Los desarrolladores de aplicaciones pueden hacer uso de estos servicios en sus aplicaciones.

El marco de Android incluye los siguientes servicios clave:

Activity Manager − Controla todos los aspectos del ciclo de vida de la aplicación y la pila de actividades.

Content Providers − Permite que las aplicaciones publiquen y compartan datos con otras aplicaciones.

Resource Manager − Proporciona acceso a recursos incrustados que no son de código, como cadenas, configuraciones de color y diseños de interfaz de usuario.

Notifications Manager − Permite que las aplicaciones muestren alertas y notificaciones al usuario.

View System − Un conjunto extensible de vistas utilizadas para crear interfaces de usuario de aplicaciones.

 

Aplicaciones

En esta capa encontrarás todas las aplicaciones de Android que tu dispositivo tiene instaladas. Cuando desarrollas una aplicación es en esta capa que se aloja. Ejemplos de estas aplicaciones son Contactos, Navegador, Juegos, etc.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *