jueves, 3 de noviembre de 2011

Componentes de una aplicación Android

Los componentes que usaremos en una aplicación Android son los siguientes:
  • Activity: una activity es una pantalla de nuestra aplicación. Aquí insertaremos nuestros botones, cajas de texto, etc e interactuaremos con nuestra aplicación. Estas actividades pueden estar en primer o segundo plano.
  • Content Providers: permite acceder a los datos de forma controlada entre las aplicaciones, es decir, Android nos provee un almacén donde las aplicaciones pueden leer o modificar la información de cualquier aplicación (siempre y cuando las aplicaciones tengan permiso para hacerlo) como por ejemplo los contactos del teléfono. El almacén físico de la información puede ser desde el propio teléfono (memoria interna, SDcard, SQLite) hasta sitios remotos (mediante sockets).
  • Services: análogo a un servicio de windows. No tienen interfaz gráfica y estan corriendo en segundo plano. Un ejemplo sería el servicio de recepción de correo.
  • Broadcast Receivers: este componente es parecido a los servícios. Está latente esperando alguna notificación o evento por parte del sistema o de cualquier otra aplicación para desencadenar alguna acción. Es un listener sin pertenecer a ninguna aplicación en concreto. Un ejemplo de este componente puede ser el aviso de que se ha insertado una tarjeta de memoria, que una aplicación ha terminado de descargarse, etc.
  • Intents: las comunicaciones entre componentes de una misma aplicación o entre distintas aplicaciones se realizan a través de este componente. El sistema es quien controla estas comunicaciones y es el encargado de llevarlas a cabo o no. Estos intents pueden lanzar un servicio, levantar otra actividad, etc pero siempre es el sistema quien decidirá si hacerlo o no y mediante que aplicación ejecutarlo. Por ejemplo, si nuestra aplicación debe hacer uso en algún momento de la cámara de fotos, habrá un intents que solicitará al sistema esta necesidad y él mismo decidirá o no (dependiendo si la aplicación tiene permiso) levantar la actividad de capturar foto de la cámara. Mediante este control, no tenemos que volver a definir una función para el uso de la cámara, sino que utilizaremos una ya creada optimizando el código.
Esto es una pequeña pincelada de cada componente, cuando empecemos a programar, seguro que nos queda un poco más claro el uso de cada uno.


Maikel.

    2 comentarios: