Programación Android, características de una aplicación II

Share if you like...Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0

En la primera entrada hablamos de las principales características de una Aplicación en android, en esta ocasión hablaremos más en detalle de algunos componentes.

Detalles de los componentes de una aplicación:

Activity

Es el componente más habitual en las aplicaciones Android, y refleja una determinada actividad llevada a cabo por una aplicación y asociada con una ventana y su respectiva interfaz de usuario. La mayoría de las aplicaciones permiten la ejecución de varias acciones a través de la existencia de una o más pantallas.

Por ejemplo, una aplicación de mensajes de texto. En ella la lista de contactos se muestra en una ventana. Mediante el despliegue de una segunda ventana, el usuario puede escribir el mensaje al contacto elegido, y en otra tercera puede repasar su historial de mensajes enviados o recibidos. Cada una de estas ventanas debería estar representada a través de un componente Activity, de forma que navegar de una ventana a otra implica lanzar una actividad, o dormir otra. Android permite controlar por completo el ciclo de vida de los componentes Activity.

Aunque las actividades trabajan juntos para formar una experiencia de usuario coherente en la aplicación de correo electrónico del ejemplo anterior, cada actividad es independiente de las demás. Por lo tanto, una aplicación diferente puede iniciar cualquiera de estas actividades (si la aplicación de correo lo permite). Por ejemplo, una aplicación de cámara puede iniciar la actividad en la aplicación de correo electrónico que redacta un mensaje nuevo, para que el usuario comparta una imagen. Muy vinculado al componente Activity y a la funcionalidad descrita en el parrafo anterior se encuentran los Intents, que es el elemento de comunicación entre las actividades.

Intent:

Un intent es un mensaje que puede usarse para lanzar o comunicarse con otras aplicaciones/actividades de manera asíncrona. Un bojeto Intent es una instancia de Intent. Incluye diversos campos de criterio que puedes suministrarle para determinar qué aplicación/actividad recibirá el Intent y qué hara el receptor.

Los criterios disponibles incluyen la acción deseada, una categoría, una cadena de caracteres, el tipo MIME de los datos, una clase manejadora y otros. Una aplicación manda un Intent al sistema Android, en lugar de mandarlo directamente a otra aplicación/actividad. La aplicación puede mandar Intent a una única aplicación objetivo o lo puede mandar como una transmisión, que a su vez puede ser gestionada por múltiples aplicaciones de manera secuencial. El sistema Android es el responsable de elegir el mejor receptor disponible para cada Intent, basándose en los criterios suministrados en el Intent y en los filtros definidos por otras aplicaciones.

Intent Filter:

Un Intent Filter es un objeto filtro que una aplicación declara en su fichero de manifiesto, para decirle al sistema qué tipo de Intents está dispuesto a aceptar cada uno de sus componentes y con qué criterios. A través de un Intent Filter una aplicación puede expresar interés en tipos de datos específicos, acciones de Intent, formatos de URI, etc. Cuando se resuelve un Intent, el sistema evalúa todos los posibles Intent Filter de todas las aplicaciones disponibles y pasa el Intent a la aplicación/actividad que mejor case con el Intent y sus criterios.

Service:

Un componente Service es ejecutado sin interfaz de usuario, y generalmente tiene lugar en segundo plano mientras que otros procesos (éstos con interfaz) son los que están activos en la pantalla del dispositivo. Un ejemplo típico de esste componente es un reproductor de música. La interfaz del reproductor muestra al usuario las distintas canciones disponibles, así como los típicos botones de reproducción, pausa, volumen, etc. En el momento en que el usuario reproduce una canción, ésta se escucha mientras se siguen visionando todas las acciones anteriores, e incluso puede ejecutar una aplicación distinta sin que la música deje de sonar. La interfaz de usuario del reproductor sería un componente Activity, pero la música en reproducción sería un componente Service, porque se ejecuta en segundo plano.

Content Provider:

Con el componente Content Provider, cualquiér aplicación en Android puede almacenar datos en un archivo, en una base de datos SQLite, en la web o en cualquier otro formato que considere. Además estos datos pueden ser compartidos entre distintas aplicaciones e inclusive editados (si el Content Provider lo permite). Un ejemplo es el almacenamiento de los contactos, Android ofrece un Content Provider que gestiona la información de contacto de usuario. Cualquier aplicación con los permisos adecuados puede consultar parte del Content Provider (como ContactsContract.Data) para leer y escribir información acerca de una persona en particular.

Broadcast Receiver:

Un Broadcast Receiver es un componente que responde a anuncios o notificaciones del sistema o de aplicaciones. Este componente no cuenta con interfaz de usuario, simplemente informa de la ocurrencia de un evento para que se inicie un proceso a partir de este o se genere una notificación en la barra de estado para alertar al usuario. Muchas notificaciones se originan en el sistema, por ejemplo que la pantalla se ha apagado, la batería está baja, o que se ha capturado una imagen. Sin embargo las aplicaciones también generan notificaciones, como por ejemplo informar que algunos datos se han descargado en el dispositivo y están disponibles para que los utilicen.

Share if you like...Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0
The following two tabs change content below.
Reborn as IT Developer. Desarrollador Android y fundador de Proyecto Simio. "En realidad, yo no puedo enseñar nada a nadie, sólo puedo hacerles pensar." - Sócrates.

Deja un comentario