Comment créer un projet Android avec Eclipse from scratch

Dans la série “HelloWorld”, nous allons voir maintenant comment créer un projet Android de base sous Mac OS X ou Linux. Vous aurez ainsi tous les outils pour développer vos applications iPhone, iPad & Android :-].

Installation d’Eclipse

Rendez-vous sur le site officiel d’Eclipse et téléchargez l’archive d’Eclipse IDE pour Java EE version Developers selon votre OS.

Décompresser l’archive, ouvrez le dossier eclipse et lancez l’application Eclipse. Un “workspace” (emplacement de travail où seront créés les projets) vous sera demandé. Eclipse se lance ensuite et s’ouvre sur l’onglet “Welcome” (que vous pouvez fermer pour arriver sur l’environnement de développement).

Installation du SDK

Téléchargez la dernière version du SDK d’Android correspondant à votre OS sur le site officiel. Dézipper l’archive et rangez le dossier avec vos autres SDKs.

Installer le plugin ADT (Android Development Tools)

Ouvrez Eclipse et allez dans le menu “Help > Install New Software…
Dans la boîte de dialogue Available Software qui apparait, cliquez sur le bouton “Add…“. Mettez en nom “android” et ajouter dans le champ location l’adresse suivante :

http://dl-ssl.google.com/android/eclipse/

Cliquez sur “Ok“. Quand il l’aura récupéré, la mention “Pending…” dans la liste disparaîtra. Cochez la case en face de “Developer Tools“. Cliquez sur “Next” (les deux outils ont déjà été automatiquement sélectionnés en cochant la case). Cliquez à nouveau sur “Next“, lisez et acceptez la licence puis cliquez sur “Finish“.

Après cela redémarer Eclipse.

Configurer le SDK

Ouvrez un terminal, et éditez le fichier ~/.profile sous Mac, et ~/.bash_profile (ou ~/.bashrc) sous Linux (le créer au besoin). Ajoutez-y la ligne :

export PATH=${PATH}:/tools

Pour Windows, faites un clic droit sur le “Poste de travail” et sélectionnez “Propriétés”. Dans l’onglet “Avancé” cliquez sur le bouton “Variables d’environnement”. Une boite de dialogue apparaît, double-cliquez sur l’entrée “Path” présente dans la partie “Variables Systèmes”. Ajoutez-y le chemin tools.

Rendez-vous dans le menu “Eclipse > Preferences > Android” et indiquez la location de votre SDK. (Exemple : /Users/UserName/Documents/SDKs/android-sdk-mac_86.) Cliquez sur “Apply” puis “OK“.

LIRE AUSSI  CSR, SSR ou SSG : quel frontend haute performance choisir selon le rendu, le bundle et l’hydratation ?

Cliquez ensuite sur l’icône d’Android SDK / AVD Manager qui se trouve dans la barre d’outils d’Eclipse. Dans le menu de gauche de la fenêtre qui s’ouvre, sélectionnez “Installed Packages“. Cliquez sur “Update All…“, sélectionnez “Accept All” puis validez en cliquant sur “Install“.

Création du projet de base

Voilà maintenant vous êtes paré pour créer un nouveau projet Android. Pour cela, allez dans le menu “File > New > Other…“. Sélectionnez “Android Project” dans le dossier Android et cliquez sur “Next“. Dans les champs demandés, vous remplissez le nom du projet (“helloWorld“), vous cochez la version du SDK que vous utilisez (2.2), le nom de l’application (“HelloWorld“), celui du package (“fr.geckogeek.android“). Enfin, cochez la case “Create Activity” et nommez-la “Main“, puis indiquez la version minimum du SDK.

Validez ensuite en cliquant sur “Finish“. Vous devriez avoir 2 erreurs. Pour les supprimer, cliquez droit sur le dossier du projet en haut à gauche, “Build Path > Configure Build Path… > Java Build Path“. Cochez la case du SDK que vous utilisez et validez. Si tout s’est bien passé, votre projet compile normalement.

Contenu du projet de base

Si vous développez le dossier du projet, vous trouverez le dossier “src” qui contient le package que nous avons créé. C’est ici que se trouvent les classes java que vous programmerez.
Dans le dossier “res” vous trouverez toutes les ressources (c’est là que vous mettrez les images & co). Vous y trouverez également le dossier layout qui contient les fichiers xml qui décrivent les éléments des views.

Si vous ouvrez le fichier main.xml par exemple, deux éléments y sont décrits : le layout principal (vue principale) qui occupe tout l’écran. Et une TextView à laquelle est attribuée la chaîne de caractères “Hello World, Main!”. Ce dernier n’est pas écrit explicitement mais il est appelé par : “@string/hello”. Cela signifie que la valeur de la chaîne de caractères correspondant à l’identifiant hello est décrite dans le fichier strings.xml (lui-même dans le dossier values). Si vous vous y rendez, vous trouverez cette ligne :

Hello World, Main!

Jetez maintenant un oeil au fichier Main.java. Notre classe principale dérive d’une Activity. De manière rapide : une Activity correspond à une vue de base (qui remplie donc tout l’écran) et qui contient des sous-vues. Dès que l’on change de vue globale, on démarre une nouvelle Activity. La méthode onCreate est appelée automatiquement à la création de l’activité (équivalent de l’init). Dedans on appelle la méthode parente et on définit la vue de base qui est décrite par le layout main (notre main.xml).

LIRE AUSSI  Créer un Singleton sur iPhone en Cocoa / Objective-C

Un dernier fichier important : AndroidManifest.xml. Il se trouve à la racine du projet et contient globalement les paramètres de l’application.

Configuration du simulateur

Maintenant créons le simulateur pour pouvoir exécuter notre petit helloWorld.
Pour cela, cliquons à nouveau sur l’icône d’Android SDK / AVD Manager (barre d’outils d’Eclipse). Normalement vous êtes directement dans le menu “Virtual Devices“, cliquez sur “New…“. Remplissez les informations : name (“Android“), choisissez la version du SDK, et mettez la taille mémoire à 64MB par exemple.

Validez en cliquant sur “Create AVD“, il apparaît maintenant dans la liste. Sélectionnez-le et cliquez sur “Start…” puis “Launch“. Le simulateur va se lancer (patience petit scarabée, java est lent…).

Vous pouvez maintenant lancer le helloWorld dans le simulateur.

Ajout d’un bouton

Bon on va juste rajouter un petit bouton très rapidement pour le fun. Dans le fichier XML (res/layout/main.xml) on va décrire cet élément (petit rappel au passage du postulat : “l’éditeur d’interface tu n’utiliseras point”, alors codez directement dans le XML hein ;-]). Comme le TextView qui s’y trouve déjà, on rajoute la balise suivante dans celle du layout principal :

L’ID va nous servir à le récupérer dans la classe java. On décrit aussi sa taille et son texte.

Dans la classe Main (src/fr.geckogeek.android/Main.java), on déclare une variable de classe de type Button :

Button myToastButton;

Il sera souligné en rouge, car il manque l’import : “import android.widget.Button;” (tout en haut, il faut dérouler pour faire apparaître ce qui est déjà importé). Vous pouvez aussi cliquer sur la croix dans la marge en face de la ligne, il vous sera proposé d’ajouter l’import manquant (fix import).

LIRE AUSSI  Configurer le proxy pour Subversion

Dans la méthode onCreate nous allons relier notre variable à notre élément déclaré dans le XML grâce à son ID :

myToastButton = (Button)findViewById(R.id.boutonToast);

Voilà, il ne reste plus qu’à ajouter une action quand on clique dessus. On va mettre un petit Toast : c’est une sorte de TextView minutée qui disparaît au bout d’un temps donné.
D’abord, pour récupérer l’événement “clic”, notre classe doit implémenter le listener. Nous rajoutons donc derrière le “extends Activity” : “implements View.OnClickListener”.

Il nous faut ensuite réimplémenter la méthode onClick. Rajoutez donc ceci à la suite de la méthode onCreate :

@Override
public void onClick(View view) {

}

Enfin, nous pouvons lier l’événement clic de notre bouton à cette méthode (dans onCreate, à la suite de la récupération du bouton) :

myToastButton.setOnClickListener(this)

Il ne nous reste plus qu’à rajouter l’action que nous voulons réaliser lorsque nous cliquons. Nous avons choisi un toast, rajoutons donc cette ligne dans notre méthode onClick (“import android.widget.Toast;”) :

Toast.makeText(Main.this, "Toast!", 10).show();

Voilà vous pouvez le tester dans votre simulateur.

Pour résumer voici notre fichier Main.java.

package fr.geckogeek.android;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class Main extends Activity implements View.OnClickListener {
	
    Button myToastButton;
	
    /* Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        myToastButton = (Button)findViewById(R.id.boutonToast);
        myToastButton.setOnClickListener(this);
    
    }
    
    /* Called when a click is detected on a view. */
    @Override
    public void onClick(View view) {
    	
    	Toast.makeText(Main.this, "Toast!", 10).show();
    	
    }

}

Et main.xml.

Sources du projet de base

Voici l’archive du projet de base que nous venons de créer. Vous pouvez la télécharger ici :
www.geckogeek.fr/static/files/HelloWorld-Android.zip

Si vous avez apprécié ce tutorial, n’hésitez pas à nous le faire savoir en laissant un commentaire ou bien tout simplement en le partageant à vos amis !

Tags : Android, From Scratch, Programmation, SDK, Tutorial

Partager cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut