Está en la página 1de 6

Desarrollo de Aplicaciones para Dispositivos Mviles

PROGRAMANDO APLICACIONES MOVILES PARA DISPOSITIVOS ANDRIOD




A continuacin se presentar la plataforma Android. Comenzaremos por dar una introduccin
de la plataforma Android y los componentes que la integran, enseguida se presentarn cada
uno de estos componentes de forma un poco ms profunda y enseguida se hablar sobre
cmo pueden ayudar a los desarrolladores a construir buenas aplicaciones mviles.
La plataforma Android es una pila de software y fue diseada principalmente, pero no
exclusivamente, para soportarse en dispositivos mviles, como telfonos y tabletas.


Esta pila tiene varias capas, que van desde los servicios del sistema operativo de bajo nivel
que administran el propio dispositivo hasta aplicaciones finales, por ejemplo, cosas como el
marcador del telfono, la base de datos contextual y un navegador web.
Android incluye un kit para desarrolladores de software o SDK, que se utiliza para crear
aplicaciones Android. Finalmente, hay un montn de documentacin, tutoriales, blogs y
ejemplos que se pueden utilizar para mejorar su propio conocimiento de Android.
Este grfico representa la pila de software de Andoid.



Como se puede ver, la pila de software de Android est organizada en varias capas. En la
parte inferior est la capa capa del ncleo Linux. Por encima de ella, estn las bibliotecas de
sistema y el sistema de ejecucin Android. Por encima de esta capa, se encuentra un rico
marco de aplicacin para apoyar el desarrollo de nuevas aplicaciones.
En la parte superior, Android ofrece algunas aplicaciones estndar. De nuevo, cosas como el
marcador de telfono, el navegador web y la base de datos de contactos. As que echaremos
un vistazo ms a detalle de cada una de estas capas.

Comenzaremos con la capa del ncleo Linux.



La capa del ncleo de Linux, es la capa ms baja de la pila de software en la plataforma
Android. Esta capa proporciona los servicios esenciales con los que cuenta cualquier
dispositivo informtico Android. El ncleo de Linux de Android, al igual que cualquier ncleo
de Linux, proporciona servicios genricos de sistema operativo. Por ejemplo, proporciona una
arquitectura de permisos, de manera que se pueda restringir el acceso a datos y recursos para
slo aquellos procesos que tienen las debidas autorizaciones. Soporta la gestin de memoria y
la gestin de procesos de manera que mltiples procesos puedan ejecutarse simultneamente
sin interferir entre s. Maneja detalles de bajo nivel de I/O de archivos y de red(Network I/O).
Tambin permite que los controladores de dispositivo se conecten, de manera que Android se
puede comunicar con una amplia gama de componentes de hardware de bajo nivel que a
menudo estn acoplados a dispositivos de cmputo, cosas como la memoria, radios y
cmaras. Adems de los servicios comunes soportados por cualquier ncleo Linux, el ncleo
Linux de Android tambin incluye varios componentes Android especficos, por ejemplo
incluye sus propios servicios de gestin de energa ya que los dispositivos mviles a menudo
funcionan con batera. Proporciona su propio reparto de memoria, y caractersticas de la
gestin de memoria, porque los dispositivos mviles a menudo tienen una memoria limitada.
El ncleo de Linux de Android tambin incluye su propio mecanismo de comunicacin entre
procesos llamado Binder, que permite que varios procesos compartan datos y servicios de
maneras sofisticadas. Y por supuesto, estas son solo algunas de las caractersticas especficas
de Android hay muchas otras tambin.
La siguiente capa incluye varias bibliotecas de sistema.

Estas libreras normalmente estn escritas en C y C++ y por esa razn se les conoce a menudo
como bibliotecas nativas ( libreras nativas). Estas bibliotecas nativas manejan una gran
cantidad del ncleo, el rendimiento de las actividades sensibles del dispositivo. Cosas como la
presentacin rpida de pgina Web y actualizacin de la pantalla. Por ejemplo, Android tiene
su propio sistema de biblioteca C que implementa las llamadas al OS estndar, que hacen
cosas como el procesado y la creacin de subprocesos, clculos matemticos, la asignacin de
memoria y mucho ms. Ah est el Surface Manager para la actualizacin de la pantalla, un
Framework Multimedia para la reproduccin de archivos de audio y video, el Web Kit para la
representacin y visualizacin de pginas Web, OpenGL para la presentacin de grficos y
SQLite para la gestin de memoria de bases de datos relacionales.
Adems de la bibliotecas del sistema esta capa tambin incluye el Android Runtime( tiempo
de ejecucin de Android) :



Android Runtime permite la escritura y la ejecucin de aplicaciones de Android. Hay dos
componentes en el Android Runtime de los que hablaremos a continuacin, las bibliotecas
Java esenciales y la Mquina Virtual Dalvik. Vamos a hablar de cada una de ellas. En primer
lugar las aplicaciones Android son normalmente escritas en el lenguaje de programacin Java
y para que sea ms fcil escribir aplicaciones, Android ofrece una serie de bloques de
construccin Java reutilizables. Por ejemplo el java y javax o extensiones de paquetes Java
que incluyen software bsico para cosas como las estructuras de datos comunes, mecanismos
de concurrencia, y para E/S de archivos. Los paquetes de Android tiene software que es
especfico para el ciclo de vida de las aplicaciones mviles. Los paquetes org, soportan diversas
operaciones de internet, o en la Web y los paquetes JUnit apoyan la unidad de comprobacin
de aplicaciones.
La segunda parte del Android Runtime, es la mquina virtula Dalvik, la mquina virtual Dalvik
es el software que realmente ejecuta las aplicaciones Android. Como se mencion
anteriormente, las aplicaciones Android normalmente estn escritas en Java, as que podra
haberse asumido que ya que estn escritos en Java, probablemente se ejecute en una mquina
virtual Java estndar. Pero en realidad ese no es el caso. Lo que normalmente sucede es que
los desarrolladores escriben primero sus aplicaciones en Java y enseguida un compilador Java
compila los archivos de cdigo fuente Java a varios archivos de cdigo de Bytes Java. A
continuacin una herramienta llamada DX transforma los bytescodes Java en un nico
archivo con un formato en cdigo de bytes diferente llamado DEX y el archivo de cdigo de
bytes generado se suele llamar classes.dex. A continuacin, el archivo DEX es empaquetado
con otros recursos de la aplicacin e instalado en el dispositivo. Y por ltimo cuando el usuario
inicia la aplicacin la mquina virtual Dalvik ejecutar luego el archivo classes.dex. Ahora, la
razn para hacer todo esto es que la mquina virtual Dalvik, a diferencia de la mquina virtual
de Java, fue diseada especficamente para funcionar en un entorno con recursos limitados
tpico de los dispositivos mviles. Cuando se dice con recursos limitados, lo que se quiere decir
es que en comparacin con un dispositivo de escritorio tpico, el dispositivo mvil normal es
menos potente y ms limitado en muchas aspectos. Por ejemplo, es probable que tenga una
CPU ms lenta, menos memoria y una batera de vida limitada.





La siguiente capa en la pila de software de Android es el Framework de aplicacin.


El marco de aplicacin contiene software reutilizable que muchas de las aplicaciones mviles
es probable que necesiten. Por ejemplo, como veremos en un minuto, el sistema de visin
contiene elementos grficos comunes. Cosas como los botones y los iconos que muchas
aplicaciones incluyen en sus interfaces de usuario. Echemos una mirada ms profunda a
algunos de estos componentes. Uno de los componentes del marco de aplicacin es el gestor
de paquetes. El gestor de paquetes es esencialmente una base de datos que mantiene un
registro de todas las aplicaciones instaladas actualmente en el dispositivo.

También podría gustarte