Documente Academic
Documente Profesional
Documente Cultură
Arquitectura Android
Como ya se ha mencionado,
Android es una plataforma para
dispositivos mviles que contiene
una pila de software donde se
incluye un sistema operativo,
middleware y aplicaciones bsicas
para el usuario.
En las siguientes lneas se
dar una visin global por capas de
cul es la arquitectura empleada en
Android. Cada una de estas capas
utiliza servicios ofrecidos por las
anteriores, y ofrece a su vez los
Aplicaciones
Este nivel contiene, tanto las incluidas por defecto de Android como
aquellas que el usuario vaya aadiendo posteriormente, ya sean de
terceras empresas o de su propio desarrollo. Todas estas aplicaciones
utilizan los servicios, las API y libreras de los niveles anteriores.
ramework de Aplicaciones
Entre las API ms importantes ubicadas aqu, se pueden encontrar las siguientes:
Activity Manager: Conjunto de API que gestiona el ciclo de vida de las aplicaciones en Android.
Window Manager: Gestiona las ventanas de las aplicaciones y utiliza la librera Surface Manager.
Telephone Manager: Incluye todas las API vinculadas a las funcionalidades propias del telfono (llamadas,
mensajes, etc.).
Content Provider: Permite a cualquier aplicacin compartir sus datos con las dems aplicaciones de Android.
Por ejemplo, gracias a esta API la informacin de contactos, agenda, mensajes, etc. ser accesible para otras
aplicaciones.
View System: Proporciona un gran nmero de elementos para poder construir interfaces de usuario (GUI),
como listas, mosaicos, botones, "check-boxes", tamao de ventanas, control de las interfaces mediante
teclado, etc. Incluye tambin algunas vistas estndar para las funcionalidades ms frecuentes.
Notification Manager: Mediante el cual las aplicaciones, usando un mismo formato, comunican al usuario
eventos que ocurran durante su ejecucin: una llamada entrante, un mensaje recibido, conexin Wi-Fi
disponible, ubicacin en un punto determinado, etc. Si llevan asociada alguna accin, en Android denominada
Intent, (por ejemplo, atender una llamada recibida) sta se activa mediante un simple clic.
Libreras
Entre las libreras ms importantes ubicadas aqu, se pueden encontrar las siguientes:
Librera libc: Incluye todas las cabeceras y funciones segn el estndar del lenguaje C. Todas las dems libreras
se definen en este lenguaje.
Librera Surface Manager: Es la encargada de componer los diferentes elementos de navegacin de pantalla.
Gestiona tambin las ventanas pertenecientes a las distintas aplicaciones activas en cada momento.
OpenGL/SL y SGL: Representan las libreras grficas y, por tanto, sustentan la capacidad grfica de Android.
OpenGL/SL maneja grficos en 3D y permite utilizar, en caso de que est disponible en el propio dispositivo mvil, el
hardware encargado de proporcionar grficos 3D. Por otro lado, SGL proporciona grficos en 2D, por lo que ser la
librera ms habitualmente utilizada por la mayora de las aplicaciones. Una caracterstica importante de la capacidad
grfica de Android es que es posible desarrollar aplicaciones que combinen grficos en 3D y 2D.
Librera Media Libraries: Proporciona todos los cdecs necesarios para el contenido multimedia soportado en
Android (vdeo, audio, imgenes estticas y animadas, etc.)
FreeType: Permite trabajar de forma rpida y sencilla con distintos tipos de fuentes.
Librera SSL: Posibilita la utilizacin de dicho protocolo para establecer comunicaciones seguras.
Librera SQLite: Creacin y gestin de bases de datos relacionales.
Librera WebKit: Proporciona un motor para las aplicaciones de tipo navegador y forma el ncleo del actual
Ncleo Linux
Android utiliza el ncleo de Linux 2.6 como una capa de abstraccin para el hardware
disponible en los dispositivos mviles. Esta capa contiene los drivers necesarios para que
cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes.
Siempre que un fabricante incluye un nuevo elemento de hardware, lo primero que se debe
realizar para que pueda ser utilizado desde Android es crear las libreras de control o drivers
necesarios dentro de este kernel de Linux embebido en el propio Android.
Directorio SRC
Se encuentra toda la lgica de aplicacin, todas
las clases programadas en JAVA. Dentro de ella
puedes definir distintos paquetes, donde puedes
dividir en capas tus reglas de negocio.
Android Library
Aqu se encuentran todas las libreras propias del
SDK de android, dependiendo la versin elegida al
crear el proyecto tendr una versin u otra.
Directorios RES
Se encuentran todos los archivos con los recursos que usan la aplicacin. Las imgenes,
archivos de idiomas, estilos, etc.. Un pequeos listado de estos puede ser:
Drawable => Carpeta con todas las imgenes de la
app. Se subdivide en mltiples carpetas desde la
versin 1.6, que contienen las imgenes en
distintas resoluciones y tamaos que se usarn
dependiendo el dispositivo usado.
Directorio layout => Aqu se encuentran las
distintas pantallas de la aplicacin, es decir, los
archivos xml con las interfaces visual asociadas a
las activities.
Values => Carpeta con los xml de contenido de la
app. En ella puede haber definidas las constantes
de la aplicacin, dando la posibilidad del
multidioma. Tambin puedes definir estilos para tus
componentes. Y todo tipo de configuraciones.
Directorio bin
Aqu se encuentran todos los archivos generados por
la propia app. Como sabeis, android usa la mquina
virtual dalvik, primero se traduce a los tpicos archivos
.class de java y posteriormente es traducido a los
archivo .dex propios de android.
Tambin esta el ejecutable de la aplicacin "apk",
sera el equivalente a los "exe" de windows. Es el
archivo que deberas instalar en cualquier telfono
android para probar la aplicacin.
Directorio gen
En esta carpeta esta el archivo R.class, ste contiene
lo identificadores los recursos usados por tu proyecto:
imgenes, layout, etc...