Arquitectura

Solo disponible en BuenasTareas
  • Páginas : 6 (1319 palabras )
  • Descarga(s) : 0
  • Publicado : 14 de noviembre de 2011
Leer documento completo
Vista previa del texto
Arquitectura
Android es una plataforma para dispositivos móviles que contiene una pila de software donde se incluye un sistema operativo, middleware y aplicaciones básicas para el usuario. Su diseño cuenta, entre otras, con las siguientes características:
_ Busca el desarrollo rápido de aplicaciones, que sean reutilizables y verdaderamente portables entre diferentes dispositivos.
_ Loscomponentes básicos de las aplicaciones se pueden sustituir fácilmente por otros.
_ Cuenta con su propia máquina virtual, Dalvik, que interpreta y ejecuta código escrito en Java.
_ Permite la representación de gráficos 2D y 3D.
_ Posibilita el uso de bases de datos.
_ Soporta un elevado número de formatos multimedia.
_ Servicio de localización GSM.
_ Controla los diferentes elementos hardware:Bluetooth, Wi-Fi, cámara fotográfica o de vídeo, GPS, acelerómetro, infrarrojos, etc., siempre y cuando el dispositivo móvil lo contemple.
_ Cuenta con un entorno de desarrollo muy cuidado mediante un SDK disponible de forma gratuita.
_ Ofrece un plug-in para uno de los entornos de desarrollo más populares, Eclipse, y un emulador integrado para ejecutar las aplicaciones.
En las siguientes líneas sedará una visión global por capas de cuál es la arquitectura empleada en Android Cada una de estas capas utiliza servicios ofrecidos por las anteriores, y ofrece a su vez los suyos propios a las capas de niveles superiores.

Arquitectura de Android
La capa más inmediata es la corresponde al núcleo de Android. Android utiliza el núcleo de Linux 2.6 como una capa de abstracción para el hardwaredisponible en los dispositivos móviles. Esta capa contiene los drivers necesarios para que cualquier componente hardware pueda ser utilizado mediante las llamadas correspondientes.
Siempre que un fabricante incluya un nuevo elemento de hardware, lo primero que se debe realizar para que pueda ser utilizado desde Android es crear las librerías de control o drivers necesarios dentro de este kernel deLinux embebido en el propio Android.
La elección de Linux 2.6 se ha debido principalmente a dos razones: la primera, su naturaleza de código abierto y libre se ajusta al tipo de distribución que se buscaba para
Android (cualquier otra opción comercial disponible hoy día hubiera comprometido la licencia de Apache); la segunda es que este kernel de Linux incluye de por sí numerosos drivers,además de contemplar la gestión de memoria, gestión de procesos, módulos de seguridad, comunicación en red y otras muchas responsabilidades propias de un sistemas operativo.
La siguiente capa se corresponde con las librerías utilizadas por Android. Éstas han sido escritas utilizando C/C++ y proporcionan a Android la mayor parte de sus capacidades más características. Junto al núcleo basado en Linux,estas librerías constituyen el corazón de Android.
Entre las librerías más importantes de este nivel, se pueden mencionar las siguientes:
_ La librería libc incluye todas las cabeceras y funciones según el estándar del lenguaje C. Todas las demás librerías se definen en este lenguaje.
_ La librería Surface Manager es la encargada de componer los diferentes elementos de navegación de pantalla.Gestiona también las ventanas pertenecientes a las distintas aplicaciones activas en cada momento.
_ OpenGL/SL y SGL representan las librerías gráficas y, por tanto, sustentan la capacidad gráfica de Android. OpenGL/SL maneja gráficos en 3D y permite utilizar, en caso de que esté disponible en el propio dispositivo móvil, el hardware encargado de proporcionar gráficos 3D. Por otro lado, SGLproporciona gráficos en 2D, por lo que será la librería más habitualmente utilizada por la mayoría de las aplicaciones. Una característica importante de la capacidad gráfica de Android es que es posible desarrollar aplicaciones que combinen gráficos en 3D y 2D.
_ La librería Media Libraries proporciona todos los códecs necesarios para el contenido multimedia soportado en Android (vídeo, audio,...
tracking img