Android - Arquitectura

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 está 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 la cámara, el teclado, la 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. , que eliminan la molestia de interactuar con el hardware periférico.

Bibliotecas

Además del kernel de Linux, hay un conjunto de bibliotecas que incluyen el motor de navegador web de código abierto WebKit, una biblioteca de biblioteca conocida, una base de datos SQLite que es un repositorio útil para almacenar y compartir datos de aplicaciones, bibliotecas para reproducir y grabar audio y video, SSL bibliotecas responsables de la seguridad de Internet, etc.

Bibliotecas de Android

Esta categoría abarca las bibliotecas basadas en Java que son específicas del desarrollo de Android. Ejemplos de bibliotecas en esta categoría incluyen las bibliotecas del marco de 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. Un resumen de algunas bibliotecas clave de Android disponibles para el desarrollador de Android es el siguiente:

  • 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 la aplicación.

  • android.database - Se utiliza para acceder a datos publicados por proveedores de contenido e incluye clases de administración de bases de datos SQLite.

  • android.opengl - Una interfaz Java para la API de renderizado de gráficos 3D de OpenGL ES.

  • android.os - Proporciona a las aplicaciones acceso a los 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 aplicaciones.

  • android.widget - Una rica colección de componentes de interfaz de usuario prediseñados como botones, etiquetas, vistas de lista, administradores de diseño, botones de opción, etc.

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

Habiendo cubierto las bibliotecas centrales basadas en Java en el tiempo de ejecución 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.

Tiempo de ejecución 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 llamadoDalvik Virtual Machine que es una especie de máquina virtual Java especialmente diseñada y optimizada para Android.

La máquina virtual Dalvik hace uso de las funciones principales de Linux, como la administración de memoria y el subproceso múltiple, que es intrínseco al 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 tiempo de ejecución de Android también proporciona un conjunto de bibliotecas centrales que permiten a los desarrolladores de aplicaciones de Android escribir aplicaciones de Android utilizando el lenguaje de programación estándar de Java.

Marco de aplicación

La capa Application Framework proporciona muchos servicios de nivel superior a las 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 sin 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 que se utiliza para crear interfaces de usuario de aplicaciones.

Aplicaciones

Encontrarás todas las aplicaciones de Android en la capa superior. Escribirás tu aplicación para que se instale solo en esta capa. Ejemplos de tales aplicaciones son Contactos, Libros, Navegador, Juegos, etc.