L’arrivée d’Android en France vous a donné envie de vous lancer dans le développement d’applications Android? Ca tombe bien, Cyril Mottier, élève ingénieur à l’INSA de Rennes, vous propose une série de tutoriaux pour apprendre les bases du développement sous Android. On commence avec l’arborescence d’un projet Android !
La programmation sur Android commence tout d’abord par l’installation du SDK Android fourni par Google sur le site des officiels des développeurs. La rédaction d’une suite de tutoriaux sur le développement sur Android devrait tout naturellement contenir une partie introductive expliquant cette étape. Néanmoins, je n’ai pas souhaité inclure cette partie car elle est facilement réalisable et la documentation déjà existante est déja suffisante :
Comme le mentionne le titre de cette partie, l’objectif de ce tutorial est de se familiariser avec l’arborescence type d’un projet Android. Nous étudierons donc les différents packages et dossiers qui sont automatiquement créé par le plugin ADT (Android Development Tool). Pour ce faire, créons tout d’abord un premier projet avec l’EDI Eclipse. Lorsque vous faites File>New>Other>Android Project, une boite de dialogue comme représentée ci-dessous s’ouvre :

Cette boite de dialogue demande en réalité d’entrer plusieurs informations sur le projet :
extension_de_votre_domaine.nom_du_domaine.android.nom_du_projet (par exemple : com.cyrilmottier.android.tutorial). Le package définira en fait le nom interne de votre application sur le terminal Android.Note : Il n’y a aucune règle régissant et reliant les différents noms donnés ci-dessus. Vous pouvez en effet avec un package com.cyrilmottier.android.aviation, un nom d’Activity MonChien et un nom d’application “Cuisinez !”. On remarquera néanmoins, que dans l’exemple précédent, malgré un choix fantaisique poussé à l’extrême des noms, la compréhension du projet n’est absolument pas facilitée.
Après avoir validé la boite de dialogue précédente en cliquant sur “Finish”, nous nous retrouvons maintenant en présence d’un projet type Android. Ce projet suit une arborescence bien précise qui ressemble à celle représentée ci-dessous :

Comme à l’accoutumée, Android ne déroge pas à la régle et insère donc les différents packages dans le dossier src. C’est dans ce dossier que l’ensemble des fichiers de code (.java) doivent se trouver. Il est bien sûr possible de créer de nouveaux packages comme les développeurs Java ont l’habitude de le faire. Analysons maintenant le contenu du package com.cyrilmottier.android.tutorial. On y retrouve tout d’abord un fichier PartOne.java qui n’est autre que l’activité (Activity) principale de l’application. Un simple coup d’oeil au code contenu dans le fichier montre que PartOne hérite bien d’Activity :
package com.cyrilmottier.android.tutorial; import android.app.Activity; import android.os.Bundle; public class PartOne extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
En dessous du dossier src, on retrouve un fichier android.jar. C’est tout simplement ce jar qui contient l’ensemble du framework Android. Sans ce dernier, notre projet Android serait tout simplement une coquille vide.
On retrouve ensuite dans le package par défaut le fameux R.java. Ce fichier est automatiquement géré par ADT et n’est donc pas modifiable par l’utilisateur. Ce fichier contient en fait l’ensemble des références vers les ressources de votre projet. Imaginons par exemple que nous souhaitions utiliser une image (Drawable dans le langage Android), on y accèdera par R.drawable.nom_de_l_image.
Au même niveau que le dossier src, on retrouve un dossier nommé assets et qui contient simplement des données qui seront chargées sur le mobile lors de la compilation de votre projet. Les données inclues dans ce dossier ne sont normalement pas en accord avec l’arborescence classique d’un projet Android : cela peut, par exemple, être des fichiers texte décrivant la license de votre application, des fichiers audio ou vidéo, etc.
Un projet Android contient enfin un dossier res qui regroupe l’ensemble des ressources relatives au projet. C’est ce dossier qui est “lu” par ADT pour créer le fameux R.java. Ce dossier contient lui même des sous dossiers regroupant les ressources selon leur type. A la création d’un projet Android, les sous-dossiers créés sont :
Drawables, etc. On pourrait traduire ce dossier par l’expression (pas vraiment française) “dessinable”.Pour finir, tout projet Android contient un fichier nommé AndroidManifest.xml qui définit le comportement de votre application au système Android. Ce fichier définit par exemple, le nom, l’icone (par défaut drawable/icon.png), le thème, la version minimale du système nécessaire à l’exécution de l’application, les activités, les services, etc. de votre application.
Les commentaires ne sont pas modérés avant leur publication alors n'hésitez à vous exprimer librement.
Une seule règle : Rester un minimum poli et constructif.
Vous avez des questions d'ordre général à poser? Direction le forum.
6 commentaires sur "Tutoriel : Arborescence d'un projet Android" :
la suite sera publiée ici ?
Oui
Excellent et tres bien écrit. Merci
Merci, malheureusement je songe sérieusement à refaire cet article au vu des nouveautés apportées par la early-look du SDK 1.5…
Merci beaucoup pour ce tutorial, vraiment il est génial et très facile à comprendre
g besoin d aide le package com.google.map n est pa reconnu dans mon code.si quelqu un peut m aider il peut me contacter sur mon mail mehdi.hassine@hotmail.fr!!!!merci