Vous êtes sur la page 1sur 3

2

Structure dun projet


Le systme de construction dun programme Android est organis sous la forme dune arborescence de rpertoires spcique un projet, exactement comme nimporte quel projet Java. Les dtails, cependant, sont spciques Android et sa prparation de lapplication qui sexcutera sur le terminal ou lmulateur. Voici un rapide tour dhorizon de la structure dun projet, qui vous aidera mieux comprendre les exemples de code utiliss dans ce livre et que vous pouvez tlcharger sur le site web de Pearson, www.pearson.fr, sur la page consacre cet ouvrage.

Contenu de la racine
La cration dun projet Android (avec la commande android create project ou via un environnement de programmation adapt Android) place plusieurs lments dans le rpertoire racine du projet :

AndroidManifest.xml est un chier XML qui dcrit lapplication construire et les composants activits, services, etc. fournis par celle-ci.

2009 Pearson Education France L'Art du dveloppement Android Mark Murphy

10

Lart du dveloppement Android

build.xml est un script Ant1 permettant de compiler lapplication et de linstaller sur le terminal (ce chier nest pas prsent avec un environnement de programmation adapt, tel Eclipse). default.properties et local.properties sont des chiers de proprits utiliss par le script prcdent. bin/ contient lapplication compile. gen/ contient le code source produit par les outils de compilation dAndroid. libs/ contient les chiers JAR extrieurs ncessaires lapplication. src/ contient le code source Java de lapplication. res/ contient les ressources icnes, descriptions des lments de linterface graphique (layouts), etc. empaquetes avec le code Java compil. tests/ contient un projet Android entirement distinct, utilis pour tester celui que vous avez cr. assets/ contient les autres chiers statiques fournis avec lapplication pour son dploiement sur le terminal.

la sueur de votre front


Lors de la cration dun projet Android (avec android create project, par exemple), vous devez fournir le nom de classe ainsi que le chemin complet (paquetage) de lactivit "principale" de lapplication (com.commonsware.android.UneDemo, par exemple). Vous constaterez alors que larborescence src/ de ce projet contient la hirarchie des rpertoires dnis par le paquetage ainsi quun squelette dune sous-classe dActivity reprsentant lactivit principale (src/com/commonsware/android/UneDemo.java). Vous pouvez bien sr modier ce chier et en ajouter dautres larborescence src/ selon les besoins de votre application. La premire fois que vous compilerez le projet (avec ant, par exemple), la chane de production dAndroid crera le chier R.java dans le paquetage de lactivit "principale". Ce chier contient un certain nombre de dnitions de constantes lies aux diffrentes ressources de larborescence res/. Il est dconseill de le modier manuellement : laissez les outils dAndroid sen occuper. Vous rencontrerez de nombreuses rfrences R.java dans les exemples de ce livre (par exemple, on dsignera lidentiant dun layout par R.layout.main).

1. http://ant.apache.org/.
2009 Pearson Education France L'Art du dveloppement Android Mark Murphy

Chapitre 2

Structure dun projet

11

La suite de lhistoire
Comme on la dj indiqu, larborescence res/ contient les ressources, cest--dire des chiers statiques fournis avec lapplication, soit sous leur forme initiale soit, parfois, sous une forme prtraite. Parmi les sous-rpertoires de res/, citons :

res/drawable/ pour les images (PNG, JPEG, etc.) ; res/layout/ pour les descriptions XML de la composition de linterface graphique ; res/menu/ pour les descriptions XML des menus ; res/raw/ pour les chiers gnraux (un chier CSV contenant les informations dun compte, par exemple) ; res/values/ pour les messages, les dimensions, etc. ; res/xml/ pour les autres chiers XML gnraux que vous souhaitez fournir.

Nous prsenterons tous ces rpertoires, et bien dautres, dans la suite de ce livre, notamment au Chapitre 19.

Le fruit de votre travail


Lorsque vous compilez un projet (avec ant ou un IDE), le rsultat est plac dans le rpertoire bin/, sous la racine de larborescence du projet :

bin/classes/ contient les classes Java compiles. bin/classes.dex contient lexcutable cr partir de ces classes compiles. bin/votreapp.ap_ (o votreapp est le nom de lapplication) contient les ressources de celle-ci, sous la forme dun chier ZIP. bin/votreapp-debug.apk ou bin/votreapp-unsigned.apk est la vritable application Android.

Le chier .apk est une archive ZIP contenant le chier .dex, la version compile des ressources (resources.arsc), les ventuelles ressources non compiles (celles qui se trouvent sous res/raw/, par exemple) et le chier AndroidManifest.xml. Cette archive est signe : la partie -debug du nom de chier indique quelle la t laide dune cl de dbogage qui fonctionne avec lmulateur alors que -unsigned prcise que lapplication a t construite pour tre dploye (ant release) : larchive APK doit alors tre signe laide de jarsigner et dune cl ofcielle.

2009 Pearson Education France L'Art du dveloppement Android Mark Murphy