Creación App’s #03.03 Android – Elementos que componen una aplicación Android

Al desarrollar una aplicación Android se hace uso de una serie de elementos que pertenecen al ámbito particular de esta plataforma. Ninguna aplicación Java estándar hace uso de ellos (a no ser que el programador intente emular Android, pero no de forma obligatoria).

Estos elementos estándar tienen unas características y uso muy específicos así que vamos a pasar a comentarlos brevemente

Vista o View

Las vistas son los componentes que nos permiten definir la interfaz de usuario que será la parte encargada de la interacción directa con el usuario de nuestra aplicación. Estas clases son el el bloque elemental que compone las interfaces de usuario.

Una vista ocupa una zona rectangular de la pantalla y es responsiva tanto para el dibujado como para el tratamiento de eventos.

Están definidas en un fichero XML y su creación es parecida a la de una página web en HTML.

Layout

Un Layout define la estructura visual de una interfaz de usuario para una aplicación o para un widget. Hay dos formas de declarar un layout, la primera es declarar los elementos de dicha interfaz de usuario en XML, la segunda pasa por instanciar elementos de tipo Layout en tiempo de ejecución.

La ventaja que proporciona la declaración en XML de un layout es que posibilita la separación entre la parte gráfica de la aplicación de su implementación en código. Esto es especialmente útil cuando creamos distintas layouts para por ejemplo distintas orientaciones de la pantalla o distintos idiomas, tenemos diferentes componentes de la interfaz gráfica pero con la misma implementación, por lo que un cambio de algún layout no afecta a su funcionamiento ni al de los demás y al revés igual, un cambio en la implementación para, por ejemplo, solventar un error hará que todas las layouts que compartan dicho código fuente funcionen correctamente ya que el error es solventado en todas.

Actividad o Activity

Una actividad es un elemento independiente, enfocado a una acción que el usuario puede realizar. La mayoría de las actividades interactúan con el usuario así que las actividades serán las encargadas de crear la ventana dónde se ubicará la interfaz de usuario. La interfaz suele estar formada por varias actividades.

Servicio o Service

Un servicio es un proceso que se ejecuta en segundo plano, es decir de forma paralela e independiente a la acción principal del usuario. Si se quiere hacer una comparación pueden ejemplificarse con los demonios de Unix/Linux, los servicios de Windows o las hebras de Java.

Existen dos tipos de servicios en Android, uno local, del que puede hacer uso el dispositivo y las aplicaciones del mismo y otro remoto que amplia su ámbito hacia otros dispositivos.

Intención o Intent

Un intent es una declaración abstracta del deseo de realizar una operación determinada. Estas operaciones pueden ser muy diversas, desde lanzar una actividad, lanzar un servicio, realizar un broadcast o realizar una comunicación con un servicio ya sea local o remoto.

Este deseo no es ni más ni menos que una declaración formal de una acción que se pretende realizar. Un ejemplo clásico de Intent es el de realizar una llamada o el de acceder al navegador de internet.

Este mecanismo facilita procesos como realizar procesos entre actividades o servir de enlace o “pegamento” entre distintas actividades si se colocan en medio de éstas. Es una estructura pasiva que alberga una descripción abstracta de la acción que pretende realizar. Proveedores de contenido o Content Provider Los proveedores de contenido realizan la tarea vital de facilitar el intercambio y acceso a la información de forma segura. El Content Provider es el elemento que nos permite acceder a los datos del teléfono y de otras aplicaciones. Un ejemplo típico de su uso es en las aplicaciones de mensajería cuando acceden a la lista de contactos del teléfono o al historial de llamadas.