Páginas

miércoles, 26 de febrero de 2014

Conceptos fundamentales de Android

Para hacer aplicaciones en Android se nos presentan los Application Components (Componentes de aplicación).
Los App Components son los bloques necesarios para construir una aplicación Android. Cada componente es un punto de entrada del sistema a tu aplicación. No todos los componentes son puntos de entrada para el usuario final y algunos dependen de otros pero cada uno de ellos existe como una entidad propia y juegan roles específicos dentro de nuestra aplicación.
En pocas palabras: Para hacer una aplicación contamos diferentes App Components. Son 4 en total y cada uno sirve para determinadas cosas. Estos son: Activities, Services, Content Providers y Broadcast Receivers.

Activities: Es la interfaz del usuario. Cuando abrís una aplicación y ves el contenido, entonces estás viendo un Activity. Adentro del Activity puede existir un mundo de componentitos. Eso lo vamos a ver más tarde. Ahora quiero que les quede que, un Activity es una pantalla completa.

Ejemplo: Abrís la aplicación del Email y ves un Activity principal que ocupa toda la pantalla. Hiciste click en Configuración y se te abre un Activity que te ocupa toda la pantalla con las configuraciones de la aplicación del Email.

Services: Son procesos que se ejecutan en segundo plano. ¿Quieren hacer una tarea que no requiera de una interfaz visual? Usen un Service.

Content Providers: Es un lugar para almacenar contenido compartido entre aplicaciones (o no). Gracias a los Content Providers tu aplicación puede hacer consultas o modificar datos (si el Content Provider lo permite) de aplicaciones que tengan Content Providers. Un ejemplo de esto es el Content Provider de los contactos del teléfono. Se almacenan en el sistema pero cualquier aplicación puede consultarlo y modificarlo. Bien, al igual que con los contactos, nuestra propia aplicación puede ser un proveedora de contenidos (Content Provider).

Broadcast Receivers: La traducción sería algo así como Receptor de Radiodifusión. Entendemos por Broadcast al concepto de cuando una aplicación o mismo el sistema operativo necesita informarle algo a TODOS. Eso es un Broadcast. Quién preste atención a ese Broadcast será un Broadcast Receiver.

Imagínenselo como radio. Transmite información a todos pero sólo las radios sintonizadas escuchan la música. Las radios sintonizadas, en este ejemplo, serían los Broadcast Receivers.

La idea de los Broadcast es la de permitir que las aplicaciones den un mensaje a todas las aplicaciones y que ese mensaje lo atajen los Broadcast Receivers.

Entonces, uno puede configurar su aplicación para que sea receptora mensajes. Esos mensajes pueden ser mensajes del sistema operativo o de otras aplicaciones.

En este link van a poder encontrar más información sobre lo que les acabo de comentar.

Android Fundamentals

Para poder utilizar cualquiera de estos Application Components debemos decirle a nuestra aplicación que vamos a utilizarlos.

Al instalarse nuestra aplicación sobre Android, este tiene que extraer cierta información (meta-data) acerca de lo que está instalando. Algunos ejemplos de esto:

  • Si la aplicación que estamos construyendo contiene Broadcast Receivers de determinados eventos, Android tiene que saberlo para poder redirigirle los mismos.
  • Si la aplicación que estamos construyendo va a conectarse en internet, Android tiene que saberlo para concederle los permisos de acceso a internet y para notificarle al usuario que la está instalando que la aplicación va a conectarse.
En pocas palabras, prácticamente todo lo que hagamos y contenga nuestra aplicación, hay que declararlo. El lugar para hacerlo es el archivo contenido en la raíz de nuestro proyecto Android: El archivo AndroidManifest.xml.

Este archivo contiene meta-data que es utilizada por es sistema operativo. Sobre este archivo declararemos nuestros App Components así como también los permisos para las acciones que queremos que lleve a cabo nuestra aplicación.