Está en la página 1de 8

5.

Estructura de un proyecto

ste es el aspecto del explorador de paquetes de Eclipse despus de expandir el
proyecto Hola:


Las carpetas del proyecto Hola son las siguientes:

src
gen
Android 5.0.1
assets
bin
libs
res

5.1 La carpeta src



Esta es la carpeta del cdigo fuente que contiene tus clases Java organizadas por
paquetes. Al expandir la carpeta aparece el fichero MainActivity.java dentro del
paquete es.uam.eps.android.hola:

5.2 La carpeta Android 5.0.1


La carpeta Android 5.0.1 contiene las bibliotecas que componen el SDK de


Android como un fichero Java .jar. La versin de este fichero coincide con la
versin escogida al crear el proyecto Android: 5.0.1 en nuestro caso. Al expandir la
carpeta, aparece el fichero android.jar junto con la carpeta donde est instalado:
(/Users/alejandro/Downloads/adt-bundle-mac-x86_64-20140702/sdk/platforms/android21/android.jar):


5.3 La carpeta assets

La carpeta assets est vaca en principio y se utiliza para almacenar ficheros de


activos (assets en ingls). A la informacin depositada en estos ficheros se puede
acceder mediante flujos (streams en ingls).

5.4 La carpeta res


La carpeta res contiene recursos (resources en ingls) utilizados por tu aplicacin.


Los ficheros de recursos son ms fciles de gestionar que los ficheros de activos.
Por ejemplo, las constantes de tipo cadena de caracteres se suelen situar en
ficheros de recursos XML. El cdigo Java puede acceder a estas cadenas a travs de
su identificador. Android se encarga de generar estos identificadores
automticamente y los guarda en la clase R. Veamos un ejemplo:
El texto mostrado por la aplicacin Hola utiliza uno de estos recursos:


Se trata de una cadena de nombre hello_world y valor Hello World! declarada
en el fichero strings.xml dentro de la carpeta res/values:


El cdigo Java se refiere a esta cadena por medio del siguiente identificador
generado automticamente: R.string.hello_world.
Si mantienes los recursos separados del cdigo en ficheros de recursos te resultar
ms fcil adaptar tu aplicacin a las distintas configuraciones del dispositivo, tal y
como idiomas diferentes o distintos tamaos de pantalla.
Por ejemplo, puedes aadir una carpeta de recursos extra llamada/res/valueses/strings.xml con valores de las cadenas en castellano:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hola Mundo!</string>
</resources>

Android utilizar automticamente los recursos apropiados comparando la


configuracin actual del dispositivo con los nombres de las carpetas de recursos.
Deberas situar cada recurso en la carpeta adecuada como se explica a
continuacin:

anim/ para ficheros XML que especifican animaciones de interpolacin.


color/ para especificaciones de color.
drawable/ para ficheros XML o bitmap.
layout/ para ficheros XML que especifican interfaces de usuario.
menu/ para ficheros XML que especifican la interfaz de los mens.
raw/

para cualquier fichero guardado en su formato original. Nosotros


colocaremos aqu un archivo mp4 que servir de fondo musical a nuestro
juego.
values/ para ficheros que contienen cadenas, enteros, arrays, entre otros,
con los siguientes convenios:
o arrays.xml para recursos de tipo array

o colors.xml para recursos que especifican colores


o dimens.xml para recursos que especifican dimensiones
o strings.xml para cadenas de caracteres
o styles.xml para recursos que definen estilos
xml/ para ficheros XML en general que se pueden leer durante la ejecucin
de la aplicacin.

Casi cualquier aplicacin debe proporcinar recursos alternativos para adaptarse a


particularidades del dispositivo. Para ello, al igual que ocurre con las cadenas de
caracteres, se ha de suministrar un archivo de nombre igual al original dentro de
una nueva carpeta de nombre igual a la original seguida de un guin y un
cualificador. Por ejemplo, para suministrar un icono para pantallas de alta
densidad:
drawable/icon.png -> drawable-hdpi/icon.png




Veamos algunos de los recursos alternativos que aparecen automticamente al
crear un proyecto en Eclipse:

values-v11 que contiene el fichero styles.xml con el tema theme


holographic, que se utiliza cuando la aplicacin se ejecuta en un dispositivo
con Android 3.0 (API 11) o superior (se impone al fichero styles.xml que
contenga la carpeta values).

values-v14 que contiene styles.xml con el tema theme DeviceDefault,

que se utiliza cuando la aplicacin se ejecuta en un dispositivo con Android


4.0 (API 14) o superior (se impone al fichero styles.xml que contenga la
carpeta values).

Como se explica en el listado de la pgina anterior, en la carpeta layout se sitan


los ficheros XML que especifican las interfaces de usuario, main.xml en nuestro
ejemplo. El editor de Eclipse permite editar el fichero main.xml en modo grfico.
Todo lo que tienes que hacer es seleccionar la pestaa adecuada
(activity_main.xml o Graphical Layout en las siguientes figuras):






5.5 La carpeta gen



El nombre gen de esta carpeta se refiere a generado. Esta carpeta contiene el
fichero R.java que Android genera automticamente, y que se puede consultar
expandiendo el icono de la carpeta en el navegador de Eclipse:


R es una clase Java generada por Android con clases Java en su interior llamadas:
attr, drawable, layout y string que contienen constantes enteras que apuntan a
recursos dentro de la carpeta res.

Por ejemplo, R.string.hello_world es un int que apunta a la cadena recurso de


nombre hello_world que, como hemos visto antes, contiene el mensaje Hello
World!:

public static final class string {


public static final int action_settings=0x7f050001;
public static final int app_name=0x7f050000;
public static final int hello_world=0x7f050002;
}

No debes modificar este fichero ya que se genera de forma automtica.


5.6 El fichero manifiesto


Cada aplicacin debe tener un fichero llamado AndroidManifest.xml en la raz del


proyecto. Este fichero contiene informacin como por ejemplo:

El nombre del paquete Java.


El cdigo de versin de la aplicacin. Google Play utiliza este cdigo para
informar a los usuarios de la disponibilidad de actualizaciones.
Las actividades que integran la aplicacin: MainActivity en nuestro caso.
Los permisos que necesita la aplicacin para ejecutarse como, por ejemplo,
el permiso para acceder a internet.
El nivel API mnimo requerido por la aplicacin: 8 en este proyecto.

5.7 El fichero project.properties


Este fichero se genera automticamente y contiene los ajustes del proyecto tal y
como la versin del SDK:
# This file is automatically generated by Android Tools.

# Do not modify this file -- YOUR CHANGES WILL BE ERASED!


#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system edit
# "ant.properties", and override values to adapt the script to your
# project structure.
#
# To enable ProGuard to shrink and obfuscate your code, uncomment this
(available properties: sdk.dir, user.home):
#proguard.config=${sdk.dir}/tools/proguard/proguardandroid.txt:proguard-project.txt
# Project target.
target=android-17

También podría gustarte