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.