martes, 7 de junio de 2016

ESTRUCTURA DE UN PROYECTO ANDROID

Carpeta /src/
Esta carpeta contendrá todo el código fuente de la aplicación, clases auxiliares, etc. Inicialmente, Android Studio creará por nosotros el código básico de la pantalla (actividad o activity) principal de la aplicación, que recordemos que en nuestro caso era MainActivity, y siempre bajo la estructura del paquete java definido durante la creación del proyecto.

Carpeta /res/
Contiene todos los ficheros de recursos necesarios para el proyecto: imágenes, layouts, cadenas de texto, etc. Los diferentes tipos de recursos se pueden distribuir entre las siguientes subcarpetas:
     /res/drawable/
    Contiene las imágenes y otros elementos gráficos usados por la aplicación.           Para poder definir diferentes recursos dependiendo de la resolución y                   densidad de la pantalla del dispositivo se suele dividir en varias                             subcarpetas:
/drawable (recursos independientes de la densidad)
/drawable-ldpi (densidad baja)
/drawable-mdpi (densidad media)
/drawable-hdpi (densidad alta)
/drawable-xhdpi (densidad muy alta)
/drawable-xxhdpi (densidad muy muy alta)
     /res/layout/
    Contiene los ficheros de definición XML de las diferentes pantallas de la               interfaz gráfica. Para definir distintos layouts dependiendo de la orientación del     dispositivo se puede dividir también en subcarpetas:
/layout (vertical)
/layout-land  (horizontal)
     /res/anim/
     /res/animator/
    Contienen la definición de las animaciones utilizadas por la aplicación.
     /res/color/
    Contiene ficheros XML de definición de listas de colores según estado.
     /res/menu/
    Contiene la definición XML de los menús de la aplicación.
     /res/xml/
     Contiene otros ficheros XML de datos utilizados por la aplicación.
     /res/raw/
     Contiene recursos adicionales, normalmente en formato distinto a XML, que          no se incluyan en el resto de carpetas de recursos.
     /res/values/
    Contiene otros ficheros XML de recursos de la aplicación, como por ejemplo         cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), arrays     de valores (arrays.xml), tamaños (dimens.xml), etc.
Fichero /app/src/main/AndroidManifest.xml
Contiene la definición en XML de muchos de los aspectos principales de la aplicación, como por ejemplo su identificación (nombre, icono, …), sus componentes (pantallas, servicios, …),  o los permisos necesarios para su ejecución. Veremos más adelante más detalles de este fichero.
Fichero /app/build.gradle
Contiene información necesaria para la compilación del proyecto, por ejemplo la versión del SDK de Android utilizada para compilar, la mínima versión de Android que soportará la aplicación, referencias a las librerías externas utilizadas, etc. Más adelante veremos también más detalles de este fichero.
En un proyecto pueden existir varios ficheros build.gradle, para definir determinados parámetros a distintos niveles. Por ejemplo, en nuestro proyecto podemos ver que existe un fichero build.gradle a nivel de proyecto, y otro a nivel de módulo dentro de la carpeta /app. El primero de ellos definirá parámetros globales a todos los módulos del proyecto, y el segundo sólo tendrá efecto para cada módulo en particular.
Carpeta /app/libs
Puede contener las librerías java externas (ficheros .jar) que utilice nuestra aplicación. Normalmente no incluiremos directamente aquí ninguna librería, sino que haremos referencia a ellas en el fichero build.gradle descrito en el punto anterior, de forma que entren en el proceso de compilación de nuestra aplicación. Veremos algún ejemplo más adelante.
Carpeta /app/build/
Contiene una serie de elementos de código generados automáticamente al compilar el proyecto. Cada vez que compilamos nuestro proyecto, la maquinaria de compilación de Android genera por nosotros una serie de ficheros fuente java dirigidos, entre otras muchas cosas, al control de los recursos de la aplicación. Importante: dado que estos ficheros se generan automáticamente tras cada compilación del proyecto es importante que no se modifiquen manualmente bajo ninguna circunstancia.

No hay comentarios.:

Publicar un comentario

Comenta que te pareció mi blog