GeckoGeek.fr

Paradigme d'un lézard

Jeudi 19 Octobre 2017

Comment créer un projet Android avec Eclipse from scratch

Par Lya le 07/06/2010 dans Google, Programmation | 8 commentaires

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“.

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 :

<string name="hello">Hello World, Main!</string>

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).

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 :

<Button
  android:id="@+id/boutonToast"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:text="Toast?">
</Button>

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).

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.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
	
	<TextView  
		android:layout_width="fill_parent" 
		android:layout_height="wrap_content" 
		android:text="@string/hello">
	</TextView>

	<Button
 		android:id="@+id/boutonToast"
  		android:layout_width="wrap_content"
  		android:layout_height="wrap_content"
  		android:text="Toast?">
  	</Button>

</LinearLayout>

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

N’hésitez pas non plus à consulter les exemples de bases : http://d.android.com/resources/index.html

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 !

Commentaires (8)
  1. mini2811 le 16 Feb 2011 à 13:22

    j’ai trouvé ce tuto très bien expliqué mais lors de la compilation eclipse me sort cette erreur :

    “[2011-02-16 13:21:18 – Emulator] emulator: ERROR: no search paths found in this AVD’s configuration.
    [2011-02-16 13:21:18 – Emulator] Weird, the AVD’s config.ini file is malformed. Try re-creating it.”

    que dis-je faire svp?

  2. Lya le 16 Feb 2011 à 21:41

    Cette erreur peut être provoquée si le path du SDK (paragraphe configurer le SDK) contient un caractère accentué (ou caractère spécial). Si c’est le cas, il faut soit retirer les caractères accentués, soit déplacer le SDK dans un dossier dont le path n’en contient pas. Si ce n’est pas ça, il faudrait essayer de réinstaller le plugin ADT et le sdk.

  3. MSTRL le 21 Jun 2011 à 11:49

    Magnifique Tuto, je suis malheureusement bloqué à un point.

    “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“.”

    Premiérement j’ai peur d’avoir fait du caca, dans les variables systèmes, lors de la création du patch, pour rentrer le chemin j’ai entierement vié la ligne présente et mis\tools. mais je devais laissé la ligne écrite de base non ? :s

    Ensuite rendez vous dans le menu eclipse > préfe… Ok mais le menu eclipse De quoi, de ou ? via eclipse je ne vois rien de tel dans préférence ? LE menu en question est un menu de … widows/programme/…

    Merci d’avance :)

  4. oak39 le 30 Aug 2011 à 12:44

    Bonjour MSTRL,

    Avez-vous réglé vos difficultés ?
    Pour ce qui est du “path”, il faut bien laissé les données présentes, sinon, les variables pour Windows et autres applications seront manquantes et ne fonctionneront plus.
    Le répertoire SDK est celui que vous obtenez en dézippant l’archive téléchargée sur http://developer.android.com/sdk/index.html comme android-sdk_r12-windows.zip. Le répetoire obtenu “C:\android-sdk_r12-windows\” est celui où se trouvent le SDK Tolls.

    Je débute aussi en prog mais de cette façon, tout a bien fonctionné.

    A bientôt sur les forum.

    OAk39

  5. Samos le 28 Oct 2011 à 09:28

    Bonjour.
    Merci pour ce tuto. Un démarrage en beauté, et en 10 minutes mon programme “hello world” customisé fonctionnait sur mon téléphone ( branché en mode débogage USB, et qui remplace la machine virtuelle ), et le tout sans rien connaître ni à Java, ni à Android et encore moins à Eclipse.
    Cela est très encouragent.

  6. sourour le 8 Mar 2012 à 00:18

    merci pour tout ces information vraiment ces encouragent

  7. douha le 19 Feb 2013 à 17:39

    salut,j’ai un projet sur eclipse et trés necessaire mais l’installation du plugin ADT ne marche pas s’il vous plait aidez moi et merci d’avance.

  8. TSHIBENGABU le 4 Apr 2014 à 13:57

    J’ai aimé ce tuto, il est vraiment pédagogique pour un bon début!!


Laisser un commentaire