“ESTRUCTURA DE UN PROYECTO ANDROID”
En el último artículo de
desarrollo creamos nuestro primer proyecto para Android, y vimos que fácilmente
podemos lanzar nuestra primera app en el emulador, ya que el asistente de
creación de proyectos hizo todo el trabajo por nosotros.
Vamos a ver de forma un
poco más detallada cual es la estructura de un proyecto. Como podéis ver en la
imagen, dentro de la carpeta HolaAndroidZone tenemos un conjunto de carpetas y
archivos, esto es lo básico en un proyecto nuevo. Enumeremos aquellos puntos
clave que nos interesa empezar a conocer:
La carpeta src
Esta es por defecto la
carpeta donde se depositará el código fuente Java, y como en los proyectos para
escritorio puede llamarse de otro modo si nos interesa o podemos disponer de
distintas carpetas fuente, a veces puede ser un modo de enlazar con librerías.
Todo el código que
pongamos en las carpetas fuente será compilado cuando se requiera. Y también
como en los proyectos tradicionales de java el código se organizará en carpetas
que resultaran en paquetes. Recordad que durante el proceso de creación del
proyecto definimos el paquete que lo identificará. Por norma general la
estructura de nuestros proyectos partirá de esta raíz tal como se ve en la
imagen.
La carpeta res
Esa es una carpeta más
compleja ya que se subdivide en múltiples subdirectorios, pero para resumir,
diremos que va a contener lo que en el mundo de Android llamaremos recursos. Ya
veremos que existen distintos tipos de recursos como imágenes, textos, layouts,
y que podemos administrar aquí como se van gestionar los recursos para
dispositivos con características y configuraciones distintas (densidad de
píxel, localización, ect…)
La carpeta RES contiene
los diferentes tipos de recursos que utiliza nuestra aplicación. Dentro de res
encontramos 3 subcarpetas: drawable, layout, y values. La primera de ellas es
la encargada de guardar las imágenes, la segunda contiene un fichero xml con
las vistas de cada activity, y la ultima carpeta almacena estilos, cadenas de
caracteres, ( Strings )…
El archivo
AndroidManifiest.xml define características importantes de la aplicación. Por
ejemplo, los permisos que necesita, la versión mínima de la plataforma, su
número de activitys e intents, así como los services y content providers
necesarios.
El fichero
proyect.properties tiene como función principal comprobar la versión del
sistema al instalar la aplicación en el móvil. Su contenido es generado
automáticamente por el SDK y no debe ser modificado.
Carpeta de recursos
Hay que tener en cuenta
que los archivos que vayamos a crear como recursos deben seguir una
nomenclatura determinada ya que no se va a permitir que el nombre del archivo empiece por un valor
numérico por poner un ejemplo, o que contenga mayúsculas.
La carpeta gen
Esta es una carpeta de
código fuente que va a contener archivos de Java como la carpeta src, pero no
deberemos agregar o modificar los archivos contenidos ya que son generados
automáticamente por el plugin de Android a partir del contenido de la carpeta
res. Aquí encontramos el archivo R que es el archivo de java que servirá para
indexar e identificar a todos y cada uno de los recursos de la carpeta res.
La carpeta bin
Esta carpeta como la
carpeta gen se genera automáticamente, y la utiliza el compilador para preparar
los archivos para el empaquetado final en forma de APK. Es un paso intermedio.
Tanto esta carpeta como la anterior la podemos borrar si es necesario ya que se
generaran de nuevo al compilar, y cabe considerar excluir estas carpetas si
utilizáis un sistema de repositorio, ya que al importar el proyecto de nuevo
sucederá lo mismo, se generan automáticamente.
La carpeta assets
En esta carpeta
depositaremos todos los archivos que vayamos a querer que acompañen a la
aplicación, pueden estar organizados en carpetas y serán empaquetados en el apk
final. Podemos considerarlos como recursos al igual que el contenido de la
carpeta res, pero no estarán indenxados ni compilados de modo que el acceso a
estos es menos eficiente y algo más laborioso. Por otro lado no tendremos que
aplicar las reglas de los recursos en lo que respecta a nomenclaturas y
organización.
La carpeta libs
Está pensada para
contener las librerías que vamos a enlazar a nuestro proyecto, por lo general
se van a depositar aquí los archivos JAR empaquetados de librerías portables.
El archivo AndroidManifest.xml
Podemos decir que este es
el archivo principal y que todas las aplicaciones o librerías deben contener en
la raíz del proyecto. En este, se definen las características del proyecto como
el nombre, paquete o los permisos que va a requerir la aplicación. También es
en este archivo donde se describe los componentes de la aplicación.
Como su nombre indica
podéis imaginar que es un archivo XMO, pero al tener instaladas el plugin de
Android podemos visualizarlo y editarlo a partir de un editor visual además de
sobre un editor de archivos XML. Si lo abrimos haciendo doble click sobre él se
mostrará probablemente en forma XML, pero podremos navegar por distintas
pestañas que nos mostraran el editor disgregado en secciones tal como se puede
ver en la imagen.
No hay comentarios:
Publicar un comentario