Estructura de una Aplicación Android

Seguimos con la serie de Post: «Tutoriales para programar en Android“.

Esta vez de vamos a echar un vistazo a la estructura de una aplicación Android, ya que es importante saber que es cada elemento antes de ponerse a programar.




Para empezar, necesitaremos tener configurado Eclipse tal y como explicaba en mi anterior post de Introducción a Android, una vez que tengamos Eclipse y la SDK de Android configurados, es el momento de crear un proyecto Android.

En Eclipse:

File->New..-> Android Project

En caso que no encontremos esa opción en la lista de proyectos, debemos de irnos a «Other…“ y seleccionar «Android“ a partir de ahí, tal y como se muestra en la figura.

A continuación nos aparecerá una pantalla, en la que tenemos que introducir información sobre nuestro proyecto tales como el nombre del proyecto, el paquete que alojará las clases principales, el nombre de la clase principal (Activity name) y el nombre de la Aplicación que aparecerá en el emulador/dispositivo Android.

Acaba de aparecer un término nuevo, para aquellos que estén acostumbrados a trabajar en Java: Activity. Más adelante haré un detallado glosario de los términos que usa Android. Por ahora, con que tengamos en cuenta que una Activity es un elemento sobre el que se construye la aplicación y que tiene un ciclo de vida bastante complejo. Estas Activities son pantallas de la aplicación, en las que podemos cargar elementos de la interfaz de usuario y capturar eventos. También son los puntos entrantes de la aplicación y puede haber más de una Activity por proyecto.

Pongamos un ejemplo para que se vea más claro.

Supongamos que tenemos una aplicación de gestión de emails. Esta aplicación, tendrá 2 pantallas, una en la que podremos ver nuestros correos entrantes, y otra en la que podremos escribir nuestro correo para enviarlo. Cada una de estas pantallas es una Activity ya que tiene funcionalidades diferentes.

Bueno, espero que haya quedado un poco más claro, de todas formas, estos términos irán apareciendo en los próximos tutoriales, así que ya os iréis acostumbrando a escucharlos y manejarlos.

Continuemos por donde lo habíamos dejado: Acabamos de crear un proyecto Android, veamos que es lo que ha creado Eclipse.


En la imagen he desplegado las carpetas para que podamos ver su contenido de un solo golpe de vista.

En la carpeta src podemos encontrar el código fuente de la aplicación. El sistema de paquetes es igual que el de java, se suele crear paquetes que alberguen clases con una misma funcionalidad, así el código es más legible. Ahora mismo tenemos las clases que ha creado Eclipse por defecto: deMalagana.java que es la clase principal y Activity de la aplicación, y la clase R.java.

La clase R.java es muy peculiar, ya que nosotros no podemos modificarla manualmente, de hecho, se genera automaticamente cada vez que modificamos los ficheros de recursos. Esta clase se podría considerar el nexo de unión entre los recursos y el XML y las clases puramente Java. Ya veremos más adelante este tema.

Si seguimos mirando la estructura, nos encontraremos con las librerías Android (android.jar), que nos dan toda la funcionalidad del sistema. Estas librerías dependen del SDK con el que estemos trabajando. Intentad siempre estar actualizados en este tema, para ello visitad regularmente la página de desarrolladores Android:

http://developer.android.com/index.html

Continuemos con los elementos del proyecto de Android.

Nos encontramos ahora con la carpeta res, esta carpeta almacena, mediante un sistema de subcarpetas, los recursos de la aplicación, desde imágenes hasta los elementos .xml que compondrán el Interfaz de Usuario y la funcionalidad del mismo.

Ahora mismo tenemos solo tres subcarpetas:
drawable-> Aquí se almacenan todos los ficheros de imágenes.

layout-> En esta carpeta se guardan los ficheros .xml que compondrán el interfaz de usuario

values->Esta es una carpeta-un-poco-de-todo. Ahora mismo tenemos un fichero string.xml en el cual almacenamos todas las cadenas de texto que aparecerán en la aplicación, pero también podremos tener valores de atributos de los elementos de aplicación o los estilos de estos mismos elementos.

Para terminar, tenemos el fichero AndroidManifest.xml indispensable en toda aplicación Android. En este fichero se almacenan los parámetros de configuración de la aplicación, desde los privilegios que le podemos asignar, hasta cual es la Activity principal.
Así pues, ya tenemos una idea un poco más clara de qué es cada elemento de nuestro proyecto Android. En próximos tutoriales iremos viendo más detenidamente, mediante ejemplos, todos estos elementos.