¿Qué es la arquitectura de aplicaciones de Android?

El sistema operativo Android es una pila de componentes de software que se divide aproximadamente en cinco secciones y cuatro capas principales.

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 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 el dolor de la interfaz con el hardware periférico.

Bibliotecas

Además del kernel de Linux, hay un conjunto de bibliotecas que incluyen WebKit, un motor de navegador web de código abierto, una biblioteca conocida, libc, 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 para el desarrollo de Android. Los ejemplos de bibliotecas en esta categoría incluyen las bibliotecas del marco de aplicación además de aquellas que facilitan la construcción de la interfaz de usuario, el dibujo de gráficos y el acceso a la base de datos. Un resumen de algunas bibliotecas principales de Android disponibles para el desarrollador de Android es el siguiente:

  • android.app : proporciona acceso al modelo de 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 representación de gráficos 3D OpenGL ES.
  • android.os : proporciona a las aplicaciones 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 rica colección de componentes de interfaz de usuario preconstruidos, como botones, etiquetas, vistas de lista, administradores 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 a 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.

Android Runtime

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 Dalvik Virtual Machine, que es un tipo 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 subprocesamiento múltiple, 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 tiempo de ejecución de Android también proporciona un conjunto de bibliotecas principales que permiten a los desarrolladores de aplicaciones de Android escribir aplicaciones de Android utilizando un lenguaje de programación Java estándar.

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:

  • Administrador de actividades : controla todos los aspectos del ciclo de vida de la aplicación y la pila de actividades.
  • Proveedores de contenido : permite que las aplicaciones publiquen y compartan datos con otras aplicaciones.
  • Administrador de recursos : proporciona acceso a recursos incrustados sin código, como cadenas, configuraciones de color y diseños de interfaz de usuario.
  • Administrador de notificaciones : permite que las aplicaciones muestren alertas y notificaciones al usuario.
  • Sistema de visualización: conjunto de vistas extensible que se utiliza para crear interfaces de usuario de aplicaciones.

Aplicaciones

Encontrará 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, Navegador, Juegos, etc.

Fuente: Arquitectura de Android