Mostrando entradas con la etiqueta Dalvik. Mostrar todas las entradas
Mostrando entradas con la etiqueta Dalvik. Mostrar todas las entradas

lunes, 13 de junio de 2011

LOS BLOQUES DE CONSTRUCCION DE UNA APLICACION

Para empezar a programar, tendremos que conocer los elementos más importantes del SDK de Android que son las actividades, las intenciones, los servicios y los proveedores de contenido. 

Actividades

Es una pantalla de la interfaz de usuario. Una aplicación puede definir una o más actividades para controlar el flujo del programa manejando sus distintas fases. Cada actividad guardará su propio estado que podremos recuperar en el momento que mejor nos convenga. Son una extensión de la clase Context, por lo que es posible obtener a través de ellas información de la aplicación. 

Intenciones

Una intención es un mecanismo para describir una acción específica, por lo que en Android, casi todo funciona por medio de intenciones, así que las posibilidades son infinitas, desde hacer saltar una alarma a enviar un sms. Por ejemplo, podríamos definir una aplicación que registre una actividad para manejar la "Intención" de enviar el sms y que sustituyera a la aplicación preinstalada en el teléfono. 

Servicios

Un servicio es una tarea que se ejecuta en segundo plano sin la interacción del usuario. Mientras tanto, otra actividad puede unirse a dicho servicio y complementar las acciones que ambos realicen. Android incluye multitud de servicios con las API convenientes para acceder a ellos. 

Proveedores de Contenido

Un proveedor de contenido es un conjunto de datos envueltos en una API personalizada al que podemos acceder y leer. Se trata de una forma excelente de compartir datos entre aplicaciones.

domingo, 12 de junio de 2011

FUNDAMENTOS PREVIOS A LA PROGRAMACION EN ANDROID

Android está construido sobre el Kernel de Linux, lo que le da una versatilidad espectacular que no para de aumentar día a día. Internamente Android usa Linux para la gestión de su memoria, de los procesos y cualquier servicio que requiera el sistema operativo. Por lo general, esto será posible gracias a las bibliotecas nativas compiladas y que serán llamadas por programas de un nivel más alto. Desde Android 1.5, es posible escribir y  desarrollar bibliotecas nativas propias usando el Native Development Kit (NDT)

Sobre el kernel se encuentra la máquina virtual Dalvik y las bibliotecas esenciales (core) de Java. Dalvik es una máquina virtual de Java desarrollada por Google que está optimizada para dispositivos de poca memoria de forma que se puedan ejecutar instancias al mismo tiempo. Así que todo el código que escribamos para Android, será esta máquina virtual la encargada de ejecutarlo. 

Las partes más importantes de la Estructura de aplicaciones de la que disponemos para construir nuestras aplicaciones son: 

* Gestor de Actividad: Será el encargado de controlarel ciclo de vida de la aplicación y mantener un orden en las aplicaciones para que podamos navegar a través de ellas. 

* Proveedores de Contenido: Estos objetos encapsulan los datos que necesitan ser compartidos entre las aplicaciones. 

* Gestor de Recursos: Para cualquier parte del programa que no sea código. 

* Gestor de Ubicación: Poco hace falta para describir esta parte, todo es "geolocalizable" desde Android. 

* Gestor de notificaciones: Util para mostrar eventos como mensajes entrantes, alarmas, etc. de forma atractiva. 

En Android existe una aplicación en primer plano que normalmente ocupa toda la pantalla excepto la barra de estado. Cuando el usuario enciende el teléfono, la primera aplicación que ve es la aplicación de inicio y al ejecutar una aplicación, Android la pondrá en primer plano; desde esa aplicación el usuario puede ejecutar otras aplicaciones o pantallas y así sucesivamente ya que todos estos programas y pantallas son grabados en la pila de la aplicación por el Gestor de Actividad del sistema. En cualquier momento, podremos pulsar el botón volver para volver a la pantalla anterior de la pila. 


Internamente, cada pantalla de la interfaz de usuario está representada por una clase Activity. Cada actividad tiene su propio ciclo de vida y una aplicación estará compuesta por varias actividades contenidas en un proceso de Linux. El ciclo de vida de una actividad no está ligado al ciclo de vida del proceso, por lo que una aplicación puede estar "viva" incluso si se ha "matado" su proceso. 


Es posible ampliar y comprender mejor esta información si vemos los Bloques de Construcción de un programa Android.