Una bona aplicació Android és més que només cpdi. Els recursos d'una aplicació Android(Android App Resources) sónels fitxers adicionals que representen el contingut estàtic que el codi utilitzar(bitmaps, definicions de layouts, strings de la interfície, etc.)
Seguint els típics i aconsellables paradigmes de disseny, és altament recomanable externalitzar els recursos com les imatges o els textos del codi font. Això té múltiples avantatges, per exemple:
Qualsevol tipus de recurs pot classificar en un dels següents grups:
Com s'explica a l'apartat Estructura d'una aplicació Android, els recursos es guarden a la carpeta res. Vegem un exemple de configuration qualifier:
El layous de la interfície gràfica (layout UI) per defecte es guarda a la carpeta:
res/layout
Però es poden especificar altres layouts per a altres tipus de pantalles, o per exemple per a una orientació horitzaontal (landscape):
res/layout-land/
Android automàticament aplica els recursos adequats.
La següents és una taula de les carpetes (segons el tipus de recurs) que us podeu trobar a dins de la carpeta res:
animator/ fitxers XML que defineixen propietats de lees animacions anim/ fitxers XML que defineixen tween animations color/ XML files that define a state list of colors. See Color State List Resource drawable/ Bitmap files (.png, .9.png, .jpg, .gif) or XML files that are compiled into the following drawable resource subtypes: Bitmap files Nine-Patches (re-sizable bitmaps) State lists Shapes Animation drawables Other drawables Drawable Resources layout/ Fitxers XML que defineixen layouts de la interfície gràfica. Vegeu Layout Resources. menu/ Fitxers XML que defineixen menús d'aplicaciones, com els menús Options Menu, Context Menu, o Sub Menu. Vegeu Menu Resource. raw/ Aquest és un directori tipus calix de sastre, que permet guardar qualsevol tipus de recurs en cru (raw). Es poden obrir aquests recursos amb com a InputStream, utilitzant Resources.openRawResource() i passant com a paràmetre el resource ID, que és R.raw.filename values/ Conté fitxers XML que contenen valors simples, com strings, enters o colors. A diferencia de les altres carpetes on cada fitxers descriu un recurs, aquí s'utilitza un sol fitxers per a tots els recursos del mateix tipus. Es poden posar els noms que es vulguin però es recomana: - arrays.xml: per definir vectors de recursos (aka typed arrays). - colors.xml: per valors de colors - dimens.xml: pre valors de dimensions - strings.xml: per a valors de text. - styles.xml: per a definir Android styles. Vegeu String Resources, Style Resource, i altres Resource Types. xml/ Permet guardar fixers XML de qualsevol tipus. En temps d'execución aquests fitxers estan disponibles amb Resources.getXML(). Serveix per exemple per guardar fitxers de configuració XML
De totes maneres, si es necessita accedir als recursos pel seu nom original de fitxers, es pot considerar la posibilitat d'utilitzar la carpeta:
assets
en comptes de res/raw
Els fitxers que es troben a la carpeta assets/ no tenen un resource ID, i per tant només es poden utilitzar utilitzant la classe AssetManager values/
XML files that contain simple values, such as strings, integers, and colors.
Whereas XML resource files in other res/ subdirectories define a single resource based on the XML filename, files in the values/ directory describe multiple resources. For a file in this directory, each child of the <resources> element defines a single resource. For example, a <string> element creates an R.string resource and a <color> element creates an R.color resource.
Because each resource is defined with its own XML element, you can name the file whatever you want and place different resource types in one file. However, for clarity, you might want to place unique resource types in different files. For example, here are some filename conventions for resources you can create in this directory:
arrays.xml for resource arrays (typed arrays). colors.xml for color values dimens.xml for dimension values. strings.xml for string values. styles.xml for styles.
See String Resources, Style Resource, and More Resource Types. xml/ Arbitrary XML files that can be read at runtime by calling Resources.getXML(). Various XML configuration files must be saved here, such as a searchable configuration.
Recursos:
Podeu obtenir una llista completa de recursos a:
http://developer.android.com/guide/topics/resources/available-resources.html
La forma de proveir de recursos alternatius a una aplicació Android és la següent:
<resources_name>-<config_qualifier>
On:
Un exemple clar són les carpetes drawable que us genera Eclipse:
res/ drawable/ icon.png background.png drawable-hdpi/ icon.png background.png
NOTA: Es pot indicar més d'un <qualifier>, cal separar cada qualificador amb un guió (dash).És important però posarlos en ordre segons les les taules de http://developer.android.com/guide/topics/resources/available-resources.html
on hdpi és un qualifier que indica dispositius amb pantalles high-density.
TODO
taules: http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources
IMPORTANT
En un mon internacionalitzat