Android: Paso a paso (II)
En esta segunda entrega en 4ndroid de “Cómo funciona Android” desde un punto de vista llano y apto para todo público, os presentamos uno de los quebraderos de cabeza y más importantes esquemas a tener claro en Android. Quizá una de los cosas más importantes, en cualquier Sistema Operativo, sea tener claro que componentes forman dicho Sistema y las dependencias que hay entre sus capas, es por ello que se necesite dedicar un capítulo entero a este conjunto dentro del propio Sistema (aunque sea muy por encima), es decir, al Mapa de Arquitectura Android. Para poder visualizarlo usaremos la siguiente imagen extraída de la incólume Wikipedia.
En la imagen podemos observar la composición del S.O. Android formado por cuatro/cinco capas distintas todas ellas anexadas para su perfecto funcionamiento:
- Applications (Aplicaciones): herramientas encargadas de proporcionar uno o varios tipos de trabajos.
- Application Framework (Armazón de Aplicaciones): encargada de dotarnos de las clases y recursos necesarios para que las aplicaciones funcionen correctamente y sepan interpretar comandos en Android.
- Libraries (Librería/Biblioteca): encargadas de proporcionar servicios de códigos y datos a los programas.
- Android Runtime: encargadas de gestionar peticiones de las aplicaciones de las aplicaciones.
- Kernel de Linux: encargada de gestionar el Hardware, la seguridad, la gestión de memoria, etc.
Es decir, cada una de las capas se complementan a la perfección para poder mover el S.O. sin que esto provoque un aumento descontrolado y desmesurado de información en log o que la Dalvik Machine que veíamos en la primera entrega, se desborde.
Bien, una vez hemos profundizado en el S.O. Android viendo muy por encima las capas de las que está formado, podemos pasar a conocer (también a muy groso modo puesto que más adelante la podremos ver mejor mediante un ejemplo práctico), la estructura que compone cualquier aplicación Android y que nos servirá para poder crear nuestras apks con Eclipse.
- Assets: Este directorio se trata de un repositorio de archivos, es decir, un lugar donde se coloca cualquier tipo de fichero externo que sea necesario en cualquier momento por la aplicación.
- Bin: Aquí irán compilados los binarios de nuestra aplicación.
- Res: Directorio donde van alojados los resources (recursos) tales como las imágenes. Este directorio está formado por 3 Subdirectorios: Drawable (aquí van las pngs de la aplicación), Layout (archivos xml encargados de la confección de la interface), Values (archivos encargados de idiomas, colores, variables, etc.).
- Src: En este directorio va toda la programación escrita en Java para el funcionamiento de la aplicación.
- .project,.classpath: Este directorio es el creado por Eclipse para su correcto funcionamiento y/o compilación del proyecto.
- AndroidManifest.xml: Este archivo es imprescindible en cada aplicación Android. Es el encargado de gestionar los componentes, servicios, datos y clases de cada paquete de la aplicación.
Como muchas veces digo “Una imagen vale más que mil palabras”, si en lugar de una imagen son varias consecutivas, quizá nos muestre mejor aún y de un modo un poco más gráfico lo que pretendemos con este artículo. Aquí tenéis una consecución de tres videos que el mismo Google en su página oficial de Android deja como muestra de este Sistema Operativo y su Arquitectura.