Tutoriel : Arborescence d'un projet Android

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 :

projet-android

Cette boite de dialogue demande en réalité d’entrer plusieurs informations sur le projet :

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 :

arborescence-android

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 :

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.

Pour aller plus loin :

6 commentaires sur "Tutoriel : Arborescence d'un projet Android" :

  • john smith le 3/04/2009

    la suite sera publiée ici ?

  • PointGPhone le 3/04/2009

    Oui :)

  • senjy le 15/04/2009

    Excellent et tres bien écrit. Merci

  • Cyril Mottier le 15/04/2009

    Merci, malheureusement je songe sérieusement à refaire cet article au vu des nouveautés apportées par la early-look du SDK 1.5…

  • Tanwir le 16/10/2009

    Merci beaucoup pour ce tutorial, vraiment il est génial et très facile à comprendre

  • Mehdi le 19/02/2010

    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

Exprimez-vous en laissant un commentaire !

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.