Para empezar a comprender cómo se construye una aplicación Android vamos a echar un vistazo a la estructura general de un proyecto tipo.
Cuando creamos un nuevo proyecto Android en Eclipse se genera automáticamente la estructura de carpetas necesaria para poder generar posteriormente la aplicación. Esta estructura será común a cualquier aplicación, independientemente de su tamaño y complejidad.
En la siguiente imagen vemos los elementos creados inicialmente para un nuevo proyecto Android:
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. Contiene
todo el código fuente de la aplicación, código de la interfaz gráfica, clases
auxiliares, etc. Inicialmente, Eclipse creará por nosotros el código básico de
la pantalla (Activity)
principal de la aplicación, siempre bajo la estructura del paquete java
definido.
CARPETA res y
Subcarpetas:
Contiene todos los
ficheros de recursos necesarios para el proyecto: imágenes, vídeos, cadenas de
texto, etc. Los diferentes tipos de recursos de deberán distribuir entre las
siguientes carpetas:
·
/res/drawable/. Contienen las
imágenes de la aplicación. Se puede dividir en /drawable-ldpi,/drawable-mdpi y /drawable-hdpi para utilizar
diferentes recursos dependiendo de la resolución del dispositivo.
·
/res/layout/. Contienen los
ficheros de definición de las diferentes pantallas de la interfaz gráfica. Se
puede dividir en /layout y /layout-land para definir
distintos layouts dependiendo de la orientación del dispositivo.
·
/res/anim/. Contiene la definición de las
animaciones utilizadas por la aplicación.
·
/res/menu/. Contiene la definición de los menús
de la aplicación.
·
/res/values/. Contiene otros
recursos de la aplicación como por ejemplo cadenas de texto (strings.xml), estilos (styles.xml), colores (colors.xml), etc.
·
/res/xml/. Contiene los ficheros XML
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.
CARPETA gen:
Contiene una serie de elementos de código generados automáticamente al
compilar el proyecto. Cada vez que generamos nuestro proyecto, la maquinaria de
compilación de Android genera por nosotros una serie de ficheros fuente en javas
dirigidos al control de los recursos de la aplicación.
El más importante es el que se puede observar en la imagen, el
fichero R.java, y la clase R.
Esta clase R contendrá en todo momento una
serie de constantes con los ID de todos los recursos de la aplicación incluidos
en la carpeta /res/, de forma que podamos acceder
facilmente a estos recursos desde nuestro código a traves de este dato. Así,
por ejemplo, la constante R.drawable.icon contendrá el ID de la
imagen “icon.png”contenida en la carpeta /res/drawable/. Veamos como ejemplo la clase R
creada por defecto para un proyecto nuevo:
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
|
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.
Archivo
Android Manifest.xml:
Contiene la definición en XML de los aspectos principales de la
aplicación, como por ejemplo su identificación (nombre, versión, icono, …), sus
componentes (pantallas, mensajes, …), o los permisos necesarios para su
ejecución. Veremos más adelante más detalles de este fichero.
En el siguiente post veremos los componentes software principales con
los que podemos construir una aplicación Android.
No hay comentarios:
Publicar un comentario