Está en la página 1de 4

Tema 4: Arquitectura de Android

Antes de comenzar a desarrollar proyectos de Android Studio, es importante


primero conocer como está conformada la estructura de Android, lo cual nos
dará claridad sobre cómo están organizados los componentes y como se integran
estos.

La siguiente imagen muestra que existen 4 capas organizadas en forma de “pila”,


cada una de ellas contiene diferentes componentes que se integran de forma
jerárquica abajo hacia arriba de modo que las capas superiores utilizan todas las
funcionalidades de las capas inferiores.
Procedamos entonces a ver de manera detallada, pero resumida cada
capa de esta arquitectura, empezando con la capa más inferior.

Capa: Núcleo Linux


Android utiliza como núcleo el Kernel de Linux 2.6 adaptado para
dispositivos móviles. Como se aprecia en la gráfica esta capa ofrece una
interfaz genérica(abstracción) de modo que los componentes de hardware
del dispositivo puedan comunicarse o utilizar el software sin problema
gracias a un driver para cada componente que permite gestionar la
energía de la batería, la memoria, los procesos y cualquier otro recurso
adicional de hardware.

Capa: Bibliotecas(Librerías)
Estas librerías o libraries están escritas en C y C++ que son los
lenguajes nativos del procesador (kernel de Linux). Ofrecen diferentes
funcionalidades dependiendo de la máquina, por lo que son los
fabricantes quienes las incluyen con cada dispositivo.
Algunas de las librerías más comunes son:
 Librería de C (libc): está basada en la Berkeley Software
Distribution (BSD), que es una librería de C adaptada para
dispositivos que utilizan el sistema Linux.

 FreeType: para el renderizado vectorial y de mapas de bits


utilizados por las fuentes

 SGL (Scalable Graphics Library): Es un motor de gráficos 2d,


es el mismo que utiliza Ghrome.

 OPENGL (OpenGL for Embedded Systems): es el motor gráfico 3D


de Android que está basado en las API de OpenGL

 SQLite: es un motor ligero de bases de datos relaciones, disponible


para todas las aplicaciones.

 SSL (Secure Sockets Layer): esta librería proporciona servicios de


encriptación brindándole seguridad al dispositivo al acceder a la
Internet.

RunTime de Android (Entorno de ejecución): su principal


componente es la máquina virtual Dalvik, recordemos que los creadores
de Android tuvieron que desarrollar su propia máquina virtual de Java, de
modo que las aplicaciones nativas de Android (escritas en Java) y no
nativas son compiladas en un formato especial para Dalvik de modo que
cada aplicación corre en su propia instancia de Dalvik, que por cierto fue
reemplazado a a partir de la versión 5 de Android por la máquina virtual
ART.

Capa: Marco de Aplicación


La conforman las clases y servicios que utilizan las aplicaciones, la
mayoría de los componentes situados en esta capa son librerías escritas
en Java que ofrecen servicios como:
 Resource Manager o Administrador de Recursos: proporción a
acceso a los elementos de una aplicación proporcionando versiones
según el idioma y tamaño de la pantalla del dispositivo en uso.

 Administrador de actividades (Activity Manager): controla el


ciclo de vida de las actividades y la navegación entre estas, así
como la pila de actividades.

 Views(Vistas): son los contenedores visuales de lo que vemos en


la pantalla.

 Proveedor de contenidos (Content Provider): funcionalidad


que permite compartir y /o acceder a datos de otras aplicaciones
como la lista de contactos y también nos permite crear nuestros
propios proveedores de contenido, de modo que otras aplicaciones
puedan gestionar lo que deseamos compartir o publicar.
Capa: Aplicaciones
Como su nombre lo indica en el nivel superior de la arquitectura de
Android se incluyen todas las aplicaciones que correrán en la máquina
virtual Delvik o ART según sea el caso. Esto incluye todas las aplicaciones
que vienen con el dispositivo más todas las aplicaciones que instale el
usuario, tengan o no interfaz gráfica y sean nativas (desarrolladas en C y
C++) o administradas desarrolladas en Java. La característica más
importante de la arquitectura de Android es que podemos crear
aplicaciones que reemplacen incluso a las aplicaciones nativas que vienen
con el dispositivo, lo cual es un gran factor diferenciador, ya que todos
los recursos y servicios están accesibles y los desarrolladores Android
podemos operar con esto.

También podría gustarte