juil
16
2010

[Tutoriel Android] Partie 1 – Débuter le développement Android

MON PREMIER PROJET ANDROID

PRÉ REQUIS :

ECLIPSE 32 BIT :

Télécharger

ECLIPSE 64 BIT :

Télécharger

ANDROID SDK (R20):

http://developer.android.com/sdk/index.html

INSTALLATION :

Nouvelle version :

Actuellement la version du SDK Android ne demande plus de télécharger une archive compressée, il est fortement recommandé de télécharger l’installeur.

L’installeur est basique il ne demande que le répertoire de destination pour s’installer.

Une fois installé, il suffit de lancer le SDK Manager

Ancienne version :

Décompressez le fichier zip d’Eclipse et Android SDK dans un répertoire.

Dans le dossier d’Android se trouve un fichier nommé “SDK setup.exe”, lancez-le puis dans la section “Available Packages” choisissez les versions d’Android à télécharger et installer.

Une fois ceci terminé vous devriez vous retrouver avec les différentes versions d’Android installées sur votre système.

Android SDK AVD

Configuration

Allez maintenant dans le menu Virtual Devices et cliquez sur le bouton “new”, ce qui nous permettra de créer notre toute première machine virtuelle contenant l’OS Android pour permettre le développement d’application mobile.

Création d’une VM

Une taille de 128 MB de données pour la SD Card (simulation de la carte SD) suffira amplement pour le développement que vous aurez à faire, une fois les champs complétés, cliquez sur “Create AVD”.

Nous allons passez à l’étape de la configuration d’éclipse pour le développement d’application mobile Android.

Lancez Eclipse puis allez dans le menu “Help” >> “Install new software”, une fenêtre s’ouvre alors et nous allons configurer les dépôts Google Android pour avoir le plugin AVD intégré à notre IDE.

Plugin ADT

Cliquez sur le bouton “Add” en haut à droite de la fenêtre puis remplissez comme suit et faites “OK”.

URL Plugin

Dans la fenêtre précédente, on retrouvera dans le menu déroulant notre dépôt, allez dessus et vous verrez apparaître dans la liste en dessous les packages .jar à installer dans notre IDE.

Liste des plugin

Faites “next” puis suivez les instructions d’installation.

Une fois celles-ci terminées, allez dans le menu “Window” >> “Preferences” puis dans la fenêtre qui s’ouvre dirigez-vous dans le menu “Android”.

Liste des targets

Cliquez sur “Browse” et sélectionnez le répertoire d’installation d’Android, la liste des targets s’affiche alors.

Nous voilà avec une configuration d’Android et d’Eclipse opérationnelle.

HELLO WORLD !

Vous pouvez voir une toute nouvelle barre d’icônes apparaître sur notre interface de développement.

Barre d’outils

Le premier carré rouge contient l’icône pour lancer l’AVD qui gère les VM Android et le deuxième carré rouge contient 3 autres icônes :

La première permet de créer directement un projet sans passer par les menus, la deuxième crée un projet Test Android et la 3 ème est l’interface de création des divers fichiers XML des projets Android que nous verrons ultérieurement.

Commençons par créer notre premier projet (1er icone du 2éme carré rouge :whistle:  )

Création - Ecran 1

Application name : Nom de l’application

Project name : Nom du projet

Package name : Nom du paquet java dans lequel se trouvera notre application

Build SDK: Version d’Android à destination

Min SDK Version : Version minimale du SDK qu’il faudra pour utiliser votre application

Création - Ecran 2

L’écran suivant permet de créer une icône pour son application qui sera créé en différentes tailles pour chaque type de support et de résolution d’écran disponible sur le marché.

Création - Ecran 3

Android nous propose de choisir le type d’application que nous voulons réaliser

BlankActivity : Activité simple (adapté uniquement aux smartphones)

MasterDetailFlow : FragmentActivity (adapté aux tablettes + smartphones)

Création - Ecran 4

Ce dernier écran permet de choisir les paramètres suivants :

Activity Name : Nom de l’activité

Layout Name : Nom du layout

Navigation type :

  • Aucune navigation
  • Onglets (Tabs)
  • Onglets et swipe(Tabs + slide)
  • Swipe + Titre (Swipe views + title strip)
  • Menu déroulant (DropDown)
Hierarchical Parent : Activité parente
Title : Titre de l’activité

Cliquez sur “finish” et vous verrez sur la gauche de votre écran dans le Package Explorer notre projet.

Hiérarchie du projet

Le projet contient un répertoire src qui lui même contiendra les différents fichiers sources de votre projet.

Le dossier gen contient les fichiers auto-générés par le plugin Android pour Eclipse contenant les id des différents éléments XML.

Le répertoire res contient les ressources de votre projet, les images, sons, layouts, valeurs, etc…

Le fichier AndroidManifest.xml est au coeur de notre application, il contient les permissions de notre application et divers autres éléments mais nous verrons ceci plus loin dans un autre tutoriel.

Ouvrez le fichier MonActivite.java

package com.helloworld;

import Android.app.Activity;
import Android.os.Bundle;

public class MonActivite extends Activity {

/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}

}

On retrouve les divers imports nécessaires à notre application, ensuite une classe nommée MonActivite qui hérite de la classe Activity.

Les Activity seront vos différents écrans dans vos applications.

Dans cette classe, on sur-classe la méthode onCreate avec en paramètre un Bundle qui permettra de sauvegarder l’état de notre application à chaque changement d’écran ou de retour sur le bureau.

L’appel à super (appel à la classe mère) permet d’appeler la définition d’onCreate pour ne pas avoir à tout réécrire soi-même (d’où le but de l’héritage me direz-vous).

Enfin le setContentView qui appel le layout main contenant notre interface graphique.

Ouvrez le fichier main.xml (“Res” >> “layout”)

Le plugin ADT permet de designer directement notre interface par drag and drop ou par le biais du code XML directement.

<?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"

/>

</LinearLayout>

On retrouve un LinearLayout permettant d’afficher les items les un à la suite des autres selon son orientation, puis un layout_width et layout_height en fill_parent lui indiquant qu’il doit remplir tout l’espace visible de l’application mobile, une autre valeur existe “wrap_content” qui permet de ne prendre que la place nécessaire par les items qu’il contient.

On retrouve dans le LinearLayout un textview avec les mêmes propriétés à l’exception de l’orientation mais avec un paramètre text qui pointe vers le fichier strings.xml se trouvant dans le répertoire values du dossier res.

Voilà, nous n’allons pas toucher au code de l’application car nous avons notre premier projet prêt, certes il ne fait rien mais cela permet de faire comprendre aux nouveaux venus dans ce monde, l’installation du SDK et de l’environnement de développement.

LET’S GO !

Lançons notre application, menu “run” >> “run” ou alors “CTRL + F11″

Démarrage de la VM

Notre machine virtuelle se lance alors, il faut un peu de temps au premier démarrage de celle-ci pour s’initialiser correctement.

Une fois le lancement terminé, on se retrouve avec notre application utilisable dans la machine virtuelle.

Hello world !

A chaque fois que vous modifiez une partie du code de votre application, pas besoin de relancer la machine virtuelle, contentez vous de relancer l’application “CTRL + F11″ et celle-ci se mettra automatiquement à jour dans la VM.

J’espère que ce tutoriel d’initiation vous aura plus et je vous dis à la prochaine pour un nouveau tutoriel plus avancé sur cette plateforme ;)

MAJ 20 Octobre 2012 : Mise à joru des liens Eclipse + Android, mise à jour des screenshot pour le nouveau gestionnaire de création d’applications

MAJ 23 Janvier 2012 : Mise à jour des liens Eclipse + Android, ajout de la nouvelle présentation du SDK Manager

  • http://www.neroid.info JCDusse1981

    Merci beaucoup pour ce tuto très bien fait : ça fait un moment que j’hésite à me lancer car les tutos ne sont pas toujours complets ou à jour.

    Là, je me lance à fond grâce à toi !

    Merci encore :)

  • Pierre-Emmanuel Mercier

    Merci beaucoup JCDusse1981, si tu as un soucis quelque part n’hésite pas à m’en faire pat, je corriger ou je t’aiderais ;)

  • http://www.neroid.info JCDusse1981

    Vraiment sympa pour l’aide : tu as déjà du boulot dans le tuto n°2 ^^

  • http://hadopinfo.fr zephyr

    Merci beaucoup pour ce travail de titan. Enfin un tuto bien fait. Moi audsi j’attendais un vrai tuto avant de me lancer. Merci a toi.

  • http://SiteWeb eric

    excellent tuto tres bien explique et complet continue

  • http://SiteWeb rikou

    Très bien ce tuto.
    Par contre, au moment de faire le 1er “ctrl+F11″ j’ai du redémarrer mon PC (et non pas ECLIPSE) car ECLIPSE ne trouvait pas le fichier R.JAVA , qui était bien là …

  • http://SiteWeb jmr

    bonjour
    ton tuto est sympa : mais où on paramètre la String “hello world” ???? :blush:

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Dans le fichier String.xml

  • http://SiteWeb Rixy

    Je ne comprends pas l’application ne s’affiche pas !

  • http://www.facebook.com/profile.php?id=1634693231 Ltifi Taha

    Salut, svp j’ai besoin d’un tuto développant des applications mobiles innovantes..Pouvez-vous m’aider?

  • http://SiteWeb oscar

    Bonjour, je débute sous android et je ne trouve pas le fichier main.xml.
    Sinon super travail tous ces tuto.

  • http://SiteWeb oscar

    Je n’arrive pas à faire apparaitre le dernier paragraphe. J’ai quand même lancé l’apps ça marche mais je n’ai que le titre Helloworld.

  • http://androix.net scarface

    Bonjour, je viens de lire le tutoriel et j’ai déjà un problème à l’installation d’eclipse.

    En effet j’ai le message suivant qui apparait ” A java runtime environement (JRE) or Java Developpment Kit (JDK) must be available in order to run Eclipse. No java virtual machine was found after searching the following locations: c:\user\arnaud\dekstop/Dev Android\eclipse\jre\bin\javaw.exe
    javaw.exe in your current PATH ”

    J’ai réinstallé java sur mon pc mais ça n’a rien changé.
    Help please :sad:

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Install le JDK et non le JRE, après fait attention à prendre JDK 32bit pour Eclipse 32 et JDK 64bit pour Eclipse 64bit ;)

  • http://SiteWeb Hataka_Fuusen

    Une version Netbeans serait top !
    Merci pour le tuto

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Faudrait que google mette le plugin adt sous netbeans ;)

  • http://SiteWeb oltenaa

    Trop cool ce tuto!
    Il est vraiment très bien fait!

    Bonne continuation!

  • http://SiteWeb elmatador

    En exécutant le projet des erreurs apparaissent :
    “Error in an XML file: aborting build”
    et le fichier main.out.xml” est vide

    Merci d’avance pour votre support

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Si tu nettoies le projet que tu le régénère ?

  • http://SiteWeb portfolio

    Bonsoir
    Je viens de me lancer avec mon Eclipse
    j’ai réussi à faire runner quelques exemples en suivant le tuto
    http://www.javafr.com/tutoriaux/INSTALLER-ECLIPSE-JAVA-ANDROID_973.aspx
    j’ai du mal à trouver des contacts niveau débutant Android

    avec le clavier de l’ordino : pas possible de supprimer des caractères saisis ds une appli sur l’emulateur !
    pas possible de saisir de chiffres !
    est-ce que l’emulateur peut utiliser la connexion internet de l’ordino ?
    et bien d’autres interrogations..
    Saluations

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Qu’est-ce qu’un Ordino ?

  • http://SiteWeb François

    Pour ma part, impossible d’installer le SDK android.
    Cette saleté de java m’empêche d’avancer dans l’installation.
    Ma config:
    -Windows vista 64bits
    -Java SE pour win64 dispo ici: http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html (jdk-6u25-windows-x64.exe)
    -Le SDK android dispo ici: http://developer.android.com/sdk/index.html
    -Eclipse en 64bits (mais vu que je n’arrive pas à installer le sdk…)
    Le message d’erreur est le suivant: “Java SE development kit not found”
    Une idée?
    Merci :sad:

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Mauvais SDK ?

    Essaye de télécharger java JDK 64 au lieu de Java SE

  • http://SiteWeb François

    Merci pour ta réponse,
    j’avais installé le jdk “jdk-6u25-windows-x64.exe” en version 64bits mais toujours le même avertissement à l’installation du sdk, je ne comprends pas… :(

  • http://SiteWeb Cyril

    Merci! Tuto véritablement bien construit et simple de compréhension ;)

  • http://SiteWeb Peanut

    L’url https://dl-ssl.google.com/android/eclipse/ est HS.
    Voir ici : http://code.google.com/intl/fr/eclipse/docs/getting_started.html#installing

    Enfin, moi j’ai téléchargé l’archive à la main (http://code.google.com/intl/fr/eclipse/docs/install-from-zip.html), vu que même en paramètrant mon proxy sous Eclipse ça ne marche pas. :ermm:

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    L’url est actuellement en panne, normalement elle devrait fonctionné, c’est toujours celle donnée par Google pour l’ADT d’Android.

    A voir avec le temps, mais merci pour la remarque.

  • http://SiteWeb Gwendal

    Merci pour ce tuto mais j’ai un problème :dizzy: .

    Dans le menu preferences, je n’ai pas le sous menu android, comment continuer ?

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Aurais tu oublié d’installer ADT ?

  • http://SiteWeb Gwendal

    Non je n’ai pas oublié, j’ai même réinstallé à partir du fichier .zip sur leur site mais rien à faire.

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Le package Android est différent du package ADT.

    http://developer.android.com/sdk/eclipse-adt.html#installing

  • http://SiteWeb Gwendal

    Oui c’est bien celui-là que j’ai installé. J’ai essayé avec le lien et avec le .zip mais rien à faire.

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    C’est tout de même bizarre, tu as mis Eclipse 3.6 ou 3.7 ?

  • http://SiteWeb Gwendal

    Je ne sais pas, j’ai pris ton lien.

  • http://www.imabox.fr Pascal

    bonjour ,
    impossible de lancer Eclipse , SDK c’est bien installé et j’ai suivi le tuto , mais quand je veux lancer eclipse , il me parle d’un dossier jre/bin/java.exe
    j’ai beau crrer moi ce dossier et y mettre javaw.exe et java.exe , il se passe rien

    une idée ?

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Bonjour Pascal,

    Alors tu n’as pas du installer Java 64bit si tu as pris Eclipse 64bit ou Java32 si tu as mis Eclipse 32.

    C’est purement un problème d’installation de Java.

  • http://www.imabox.fr Pascal

    bonsoir
    j’ai seven 64 , donc par defaut le java installé dans la machine est automatiquement la 64bits
    enfin sur le site de java , ya rien d’ecrit

  • http://www.imabox.fr Pascal

    j’ai reinstaller java 64 et eclipse 64 , tjrs le meme soucis au lancement
    voici une photo de mon ecran :

    http://www.imabox.fr/upload_7/1126072156H96LNHw4nwRuO7o07.jpg

    je suis un peu perdu la :dizzy:

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    En faite tu n’as pas Java d’installé

    Essaye ceci :

    http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html

  • http://www.imabox.fr Pascal

    Ok je test merci pour le lien

  • http://www.imabox.fr Pascal

    ca fonctionne :)
    merci

  • http://SiteWeb gilou974

    Bonjour à tous et bravo pour les tutos c du super boulot.

    Alors je débute complétement avec Android et ne suis pas non plus un super java codeur…

    j’essaie en vain de finir ce tuto mais je n’arrive pas à avoir ma deuxieme activité : systématiquement un Force Close.

    J’ai bien essayer de trouver pourquoi dans la console aussi bien que dans la LogCat mais je suis trop limité :

    si qqun peut m’aider d’avance merci.

    Log Cat donne :

    08-03 14:35:43.821: INFO/ActivityManager(89): Starting: Intent { cmp=gilou.droid/.secondAct } from pid 424
    08-03 14:35:43.980: DEBUG/AndroidRuntime(424): Shutting down VM
    08-03 14:35:43.980: WARN/dalvikvm(424): threadid=1: thread exiting with uncaught exception (group=0×40015560)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): FATAL EXCEPTION: main
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): android.app.SuperNotCalledException: Activity {gilou.droid/gilou.droid.secondAct} did not call through to super.onCreate()
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1613)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at android.os.Handler.dispatchMessage(Handler.java:99)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at android.os.Looper.loop(Looper.java:123)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at android.app.ActivityThread.main(ActivityThread.java:3683)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at java.lang.reflect.Method.invokeNative(Native Method)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at java.lang.reflect.Method.invoke(Method.java:507)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    08-03 14:35:43.990: ERROR/AndroidRuntime(424): at dalvik.system.NativeStart.main(Native Method)
    08-03 14:35:44.010: WARN/ActivityManager(89): Force finishing activity gilou.droid/.secondAct
    08-03 14:35:44.040: WARN/ActivityManager(89): Force finishing activity gilou.droid/.Gilou2Activity
    08-03 14:35:44.549: WARN/ActivityManager(89): Activity pause timeout for HistoryRecord{407dfff8 gilou.droid/.secondAct} :blink:

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Bonjour,

    Un oublie dans le manifest.xml dans la déclaration des activity ?

  • http://SiteWeb gilou974

    Re bonjour ,

    si mon post précédent est accepté après modération je vous donne la suite :

    apparement il me manquait la ligne

    super.onCreate(savedInstanceState);

    dans ma seconde activité ……

    Merci

  • JK

    Au moment du Run j’obtiens cela :

    [2011-08-13 18:12:34 - First_android_project] ——————————
    [2011-08-13 18:12:34 - First_android_project] Android Launch!
    [2011-08-13 18:12:34 - First_android_project] adb is running normally.
    [2011-08-13 18:12:34 - First_android_project] Performing com.helloworld.HelloWorldActivity activity launch
    [2011-08-13 18:12:34 - First_android_project] Automatic Target Mode: Preferred AVD ‘AVD_Android2.1′ is not available. Launching new emulator.
    [2011-08-13 18:12:34 - First_android_project] Launching a new emulator with Virtual Device ‘AVD_Android2.1′
    [2011-08-13 18:12:34 - Emulator] unknown option: -
    [2011-08-13 18:12:34 - Emulator] please use -help for a list of valid options

    Savez-vous ce qui entraîne l’erreur ?

    Merci.

  • http://www.ace-art.fr/wordpress/ Pierre-Emmanuel Mercier

    Apparemment tu as modifié un fichier avec des options mais je ne vois pas trop où cela peut être.

  • JK

    Pour info, l’erreur provenait du fait que j’avais mis un espace dans le nom du répertoire où se trouve l’émulateur Android. Il suffit de changer le nom du répertoire, puis de modifier le chemin dans les préférences Eclipse.

  • Stilgardpat

    Bonjour,

    En suivant le tuto, quand j’arrive au moment de lancer la machine virtuelle, j’obtiens ceci:
    [2011-12-28 13:52:07 - HelloWorld] ——————————
    [2011-12-28 13:52:07 - HelloWorld] Android Launch!
    [2011-12-28 13:52:07 - HelloWorld] adb is running normally.
    [2011-12-28 13:52:07 - HelloWorld] Performing com.helloworld.MonActivite activity launch
    [2011-12-28 13:52:07 - HelloWorld] Automatic Target Mode: launching new emulator with compatible AVD ‘Developpement’
    [2011-12-28 13:52:07 - HelloWorld] Launching a new emulator with Virtual Device ‘Developpement’
    [2011-12-28 13:52:22 - Emulator] emulator: WARNING: Unable to create sensors port: Unknown error
    [2011-12-28 13:52:23 - HelloWorld] New emulator found: emulator-5554
    [2011-12-28 13:52:23 - HelloWorld] Waiting for HOME (‘android.process.acore’) to be launched…

    Au final, j’ai toujours que les lettres android d’affichées, et la Vm ne se lance pas complètement.

    Pouvez-vous m’aider?

  • http://www.ace-art.fr/wordpress Acesyde

    Waiting for HOME (‘android.process.acore’) to be launched…
    Tu as apparemment un problème avec ta VM.
    Si tu lances la VM sans passer par eclipse elle se lance complètement ?