lunes, 16 de marzo de 2015

Programación con Android (VI): Estructura de proyecto Android en Eclipse


Cuando se crea un proyecto Android en Eclipse, éste crea una estructura de directorios básica, que será común en todos los proyectos y que facilitará la organización de los distintos archivos que compondrán nuestra aplicación.

Carpeta src: residen todos los archivos de código fuente Java que componen la aplicación. Una buena práctica es que, dentro de esta carpeta, se organicen los distintos archivos en diferente paquetes, dependiendo de su funcionalidad. 

Carpeta gen: Esta carpeta contiene clases Java que crea automáticamente la plataforma de Android para ayudar al desarrollo de las aplicaciones. La clase más importante que será automáticamente actualizada cada vez que sea necesario, es R.java. Dicha clase (no editar nunca), mantiene una especie de índice de los recursos que se pueden acceder y modificar desde código (y  que residen en la capeta res), asignándoles identificadores numéricos (por ejemplo, a cadenas de texto), objetos visuales (por ejemplo, provee la dirección para acceder a un archivo de imagen, a través de su id, invocando a “R.id.nombreImagen”).

 
 
 
 
Android x.y:  Esta carpeta contiene la referencia a la versión del SDK de Android que se utilice
en la aplicación.
Carpeta assets: En esta carpeta residirán aquellos otros recursos a los cuales no sea necesario acceder a ellos a través de su id ya que no se querrán modificar en la aplicación, tales como imágenes, vídeos, audio, fuentes de texto..
Carpeta bin: Contiene los archivos de la aplicación compilados.
Fichero AndroidManifiest.xml: Este imprescindible fichero describe cómo se empaquetará la aplicación, qué componentes tiene la misma (Actividades, Servicios, Receptores Broadcast, Proveedores de Contenido…), y en qué condiciones pueden ser ejecutados, así como los  permisos que necesitará la aplicación para funcionar correctamente.
 
Carpeta res: En ella residen todos los recursos accesibles desde la clase R, organizados en diferentes subcarpetas:
Subcarpetas drawable‐*: contienen todos los recursos gráficos de la aplicación, organizados, a
su vez, en función de la resolución de la pantalla que muestre la aplicación. De este modo, si el
dispositivo que ejecuta la aplicación es tipo HDPI, se utilizarán automáticamente los recursos de la
carpeta drawable‐hdpi¸ en caso de dispositivos LDPI, se utilizarán los recursos de la carpeta drawable‐ldpi.
Subcarpeta anim: contendrá descriptores xml de animaciones.
 
Subcarpeta layout:  Contendrá los descriptores xml de las vistas. (Es importante)
 
Subcarpeta menú:  Contendrá los descriptores xml de los menús.
 
Subcarpeta values:  Contiene, ficheros xml con pares clave‐valor. Por ejemplo,  el fichero strings.xml, donde se aglutinarán todas las cadenas de texto mostradas en la aplicación. También podrá contener ficheros para estilos, colores, etc.