Categorías

Creación App’s #03.01 Android – Estructura de carpetas de un proyecto Android Studio

Estructura de carpetas de un proyecto Android Studio

Cuando creamos un nuevo proyecto Android se generan automáticamente una serie de carpetas y archivos. El núcleo central del proyecto es un archivo xml llamado AndroidManifest.xml (manifiesto de aquí en adelante). Además se generan archivos con el código fuente y otros archivos adicionales que contienen los recursos. A continuación vamos a repasar las partes más importantes de esta estructura.

Estructura Básica de un proyecto en Android

Nos basaremos en el ejemplo anterior de Hola Mundo que hemos realizado anteriormente.

Carpeta App

Estructura Básica de un proyecto en Android

Esta carpeta contiene todo contendrá todo el software de nuestra aplicación. Veamos cada una de las carpetas que contiene app:

Src

Este no contiene sólo la lógica de la aplicación, sino que lo contiene todo, a continuación vamos a ver las principales carpetas y las que se van a usar:

  • main/java: Contienen la lógica, que en el ejemplo solo tenemos la clase MainActivity

Estructura Básica de un proyecto en Android

  • main/res: Que como en el caso de eclipse contiene tanto la interfaz gráfica como recursos, con la diferencia que esta dentro de la carpeta src.

Estructura Básica de un proyecto en Android

Veamos las principales carpetas que contiene res:

Dentro de ella encontramos distintas carpetas con funciones específicas:

  • Drawable. Estas carpetas contienen las imágenes y los descriptores de ellas.
  • Layout. Aquí se encuentran los ficheros XML de las vistas de nuestro programa. Estos elementos nos permiten definir las distintas pantallas de nuestra aplicación.
  • Menu. Aquí se encuentran los archivos de los menús de la aplicación.
  • Values. Estos ficheros nos permiten definir valores a nuestras variables de manera independiente al código fuente. Este mecanismo nos permite por ejemplo cambiar el valor del título (String) de un botón sin necesidad de cambiar dicho valor en el código fuente. Su uso es especialmente útil cuando queremos realizar diversas versiones de nuestra aplicación dependiendo del idioma o cambiar los valores de por ejemplo la conversión de medidas según el dispositivo
  • AndroidManifest.xml

Este es el archivo principal de cualquier aplicación Android. Es el archivo encargado de definir la aplicación y sus atributos. Aquí se indican las actividades, intentos, servicios y proveedores de contenido de nuestro programa así como las propiedades de la misma, como la versión mínima de la API necesaria.

Carpeta Gen

Estructura Básica de un proyecto en Android

Esta carpeta contiene el código fuente generado automáticamente por el compilador y el SDK. No se debe modificar nunca a manualmente, se debe hacer desde las herramientas del SDK o el plugin ADT.

Dentro de esta carpeta hay un archivo muy importante que es la clase R.java. Dicha clase es la encargada de relacionar cada recurso de nuestra aplicación con su identificador por ello es especialmente delicada, un cambio mal realizado en este archivo provocará un colapso de nuestra aplicación y que deje de funcionar. Es generada automáticamente en cada compilación de nuestro proyecto.

En las versiones recientes de Android Studio, al usarse Gradle para compilar, la carpeta /gen/ se ubicará en app/build/genrated, y más concretamente la clase R.java la encontraremos en: app/build/generated/source/r/debug/com/nombredetupaquete.

Carpeta Assets

Estructura Básica de un proyecto en Android

Esta carpeta contiene archivos que usa nuestra aplicación. Es similar a la carpeta res pero a diferencia de ésta, el contenido no se va a modificar nunca, es constante.

Al igual que la carpeta /gen/ en las versiones recientes de Android Studio, al usarse Gradle como compilador, la carpeta /assets/ no se crea por defecto si no se incluyen assets en el proyecto, y por lo tanto la tendremos que ubicar de forma manual en la ruta app/src/main/assets. Existe un atajo para crearla desde Android Studio, para ello haciendo click con el botón derecho sobre la carpeta app, se nos abre un menú en el que elegimos New — Folder — Assets Folder y esto nos creará la carpeta assets de forma automática.

Fichero AndroidManifiest

AndroidManifest.xml

Este es el archivo principal de cualquier aplicación Android. Es el archivo encargado de definir la aplicación y sus atributos. Aquí se indican las actividades, intentos, servicios y proveedores de contenido de nuestro programa así como las propiedades de la misma, como la versión mínima de la API necesaria.

Estructura Básica de un proyecto en Android