Dans Mon billet précédent Développez une application pour android j’ai mis en place ma plate forme de développement pour android. Aujourd’hui nous allons passer aux choses sérieuses, développez notre première application sous android.
Souvent pour une première application on nous fais toujours commencer toujours par le fameux hello world, moi ça m’a toujours gaver de développer cette première application, moi je voulais qu’on m’explique comment faire un menu un truc bien quoi, au lieu d’afficher sur un écran noir hello world de m…….. Donc on commence direct par développer le menu sur android comme ça on attaque sur l’interface directe.
Nous allons tous d’abord créer un projet android pour cela dans
file->new->projet dans la boite de dialogue qui s’ouvre sélectionner android

vous obtenez arborescence suivant
/src
/asset
/Android Library
/res

le répertoire qui vas nous intéressé aujourd’hui est le répertoire /res parce qu’un des truc vraiment bien avec android c’est la possibilité de déssiner les interfaces avec du xml comme si nous produisons une page html. Ainsi dans le répertoire /res nous aurons un répertoire layout pour les layers, un répertoire menu pour les menus pour le moment on vas regarder que ce répertoire.
Notre menu principal sera dans un fichier qu’ on va appeler options_menu.xml cliquez sur le bouton droit sur le répertoire menu et sélection créer un fichier donnez lui le nom options_menu.xml. Quand il est créer cliquer sur le fichier on obtient une interface sympathique de création de menu

on vas créer quatre accès
- Planning
- Génération planning
- Liste des courses
- Config
il ne nous reste plus qu’à instancier ce menu, dans notre fichier principal qui se trouve dans /src/votrepackage/lefichiernomappli.java vous n’avez plus qu’a coller ce texte
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
} |
pour plus d’informations sur les classes il y a la doc dans le répertoire android/docs si vous voulez en savoir plus.
Lancer votre application et en appuyant sur le bouton menu android nous avons notre menu.

Prochaine étape, affecterdes actions sur ce menu.
Suite ne pas oublier l’importation des classes requises
import android.app.*;
import android.os.Bundle;
import android.view.*;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.view.View.OnClickListener;
Il est temps de mettre à profit les tutoriels d’Android France:
Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo


















08 avril 2009 à 14 h 07 min
Ce tuto est malheureusement incomplet, bourré de fautes d’orthographe, il manque des étapes et il n’y a aucune explications… c’est bien dommage…
08 avril 2009 à 14 h 36 min
Cher Fantomas les critiques sont les bienvenues sur ce site, elles nous aident à avancer et nous apprécions l’intérêt que vous portez à nos billets.
Nous regrettons cependant que vous n’ayez pas laisser vos vrais coordonnées (votre email) afin que nous puissions voir en détail avec vous les points que nous pourrions approfondir.
15 avril 2009 à 17 h 30 min
Bonjour,
Je débute en Java avec l’arrivé d’Android, et je n’ai jamais développé avec des appli type Eclipse… un simple HelloWorld à mon actif sur G1 (oui je sais…) J’ai eu quelques bugs en essayant ce tuto que j’ai réussi à résoudre :
Visiblement le texte du code du fichier XML “options_menu.xml” est mal affiché (à cause du moteur de blog sans doute) il faut ré-écrire les guillemets, et la ça passe.
Ensuite pour le fichier .java principal j’ai du importer les classes android ci-dessous (le code onCreateOptions s’intègre lui dans la classe principale, “Recette” pour moi…) :
import android.view.Menu;
import android.view.MenuInflater;
Voilà qui aidera peut-être les autres internautes débutants sur android…
Merci pour ce tuto en tous les cas.
s.
15 avril 2009 à 17 h 39 min
Pour ce problème je vais essaye de trouver une solution par contre dans les tuto qui suivent je rajoute une possibilitée de télécharger le code source zippé merci encore pour tes remarques
07 mai 2009 à 10 h 58 min
Bonjour, voici quelques fautes au cours de ma lecture :
“le répertoire qui vas nous intéressé aujourd’hui est le répertoire /res parce qu’un des truc vraiment bien avec android c’est la possibilité de déssiner les interfaces avec du xml comme si nous produisons une page html.”
Le … va … intéresser … trucs … android, … dessiner … produisions …
“Quand il est créer cliquer” => “créé, ”
Aussi la ponctuation est à revoir (il manque des points, majuscules et on trouve des doubles espaces) et les listes mal faites (il faut “:” “,” “.”) :
- élément 1,
- élément 2,
- dernier élément.
25 mai 2009 à 21 h 54 min
Bonjour, j’ai essayé de faire votre menu mais malheureusement sans succès. J’ai pourtant bien pris soin de faire comme vous le dite mais j’ai ce message d’erreur quand je lance mon application : “The application HelloSylvain (process com.google.android.hello) has stopped unexpectedly. Please try again”. Je ne comprends donc pas pourquoi étant donné que j’ai suivis à la lettre votre tutoriel.
Un peu d’aide ne serait pas de refus
25 mai 2009 à 23 h 19 min
@Elmout : as tu bien importé toutes les classes.
sinon pour voir les bug il faut te mettre en mode debug sur eclipse.
window=>open perspective=>debug dans le fenetre en bas le debug
12 juillet 2009 à 15 h 06 min
Bonjour,
Je débute sur Androïd et en cherchent de la documentation je suis tombé sur tes tutos.
Ils semblent sympa mais perso je suis bloqué assez vite… J’ai pas de répertoire menu :S Un répertoire values c’est bon ? Parce qu’il a pas aimé lorsque je l’ai mit là.
merci d’avance et bonne continuation en tout cas =)
12 juillet 2009 à 21 h 48 min
@tuxinette : pour créer un répertoire tu te mets sur le repertoire res et avec le bouton droit tu fais créer un repertoire et tu donnes le nom menu à ton nouveau repertoire
15 juillet 2009 à 2 h 57 min
^^ Tout d abord super site ^^ que je visite souvent pour me tenir au courant sur les nouvelles d’Android, pour mon HTC dream que j’ai acheté il y a une semaines.
Voila j’ai un petit problème sur ce tutoriel, je ne vois pas comment dire à Eclipse de lancer tel emulateur quand je veux lancer l’application.
J’ai bien installer le SDK, j’ai créer 2 emulateur avec AVD (Android Virtual Device), 1 en version 1.1, l’autre en 1.5.
Mais quand je clique sur Run, ou sur Run as, aucun moyen de preciser l’emulateur ou le fait d’emuler.
Merci
15 juillet 2009 à 2 h 59 min
et j’ai essayer de trouver l’emulateur dans le dossier Tools du SDK, j’ai rien trouver de concluant des fenetre DOS qui se ferme une fois lancé… j’ai vraiment pas compris comment se manipuler l’emulateur d’Android
15 juillet 2009 à 7 h 53 min
@Seturiel : pour ton problème tu vas dans run->configuration->lenomdetonprojet et là tu as des onglets tu cliques sur target et tu sélectionnes ton avd dans la liste en bas sinon coche également automatic
15 juillet 2009 à 12 h 34 min
Automatic Target Mode: Preferred AVD ‘GooglePhone1.5′ is not available. Launching new emulator.
Launching a new emulator with Virtual Device ‘GooglePhone1.5′
emulator: ERROR: unknown virtual device name: ‘GooglePhone1.5′
emulator: could not find virtual device named ‘GooglePhone1.5′
Je l’ai crée a partir du AVD Manager, par contre il a pa l’air de le trouver.
En automatique comme en manuel, ca fait la même erreur.
15 juillet 2009 à 13 h 08 min
@Seturiel : tu as essayé de le crée en ligne de commande regarde ce tuto http://developer.android.com/guide/developing/tools/avd.html sans mettre de . dans ton nom de avd
15 juillet 2009 à 13 h 24 min
En ligne de commande et sans le “.” ca donne la même chose.
T_T
15 juillet 2009 à 13 h 28 min
Par contre que ce soit sous Eclipse ou en ligne de commande, il les crée dans le dossiers “.Android/AVD” sur la racine de mon disque personnel
Je ne vois précisé nul part sous eclipse d’aller chercher dans se dossier.
Quand j’ai crée l’AVD en ligne de commande alors que mon dossier était stocké autre part dans ce disque, il l’a quand même placé dans le dossier “.Android/AVD”.
15 juillet 2009 à 13 h 34 min
@Seturiel : est ce que tu a le fichier emulator.exe dans ton repertoire android-sdk-windows-1.5_r1\tools ??
15 juillet 2009 à 14 h 28 min
J’ai vérifié quelques detail, j’ai bien la dernière version du SDK, j’ai bien ajouter le chemin du dossier tool dans la variable PATH, j’ai bien installer le bon plugin eclipse…
Oui j’ai ce fichier, par contre quand je le lance, il lance une fenetre dos et se referme
15 juillet 2009 à 17 h 12 min
Alors, j’ai testé de créer en ligne de commande, ca marche
j’ai essayé de listé les AVDS, ca marche, on voit tous mes AVD
je le lance en ligne de commande via son nom “GP15″ ca marche pas
je le lance via son chemin complet grâce a l’option -data, … CA MARCHE
Par contre je l’ai crée en API level 3 donc Android 1.5, et quand je vais dans les informations de version sur le AVD, il est en 1.1, c’est normal?
le AVD crée en ligne de commande et via eclipse ont le même problème, sur le coup je peu pas lancé mon application fait pour tourner sur du 1.5
Le SDK télécharger aujourd’hui sur le site officiel:
http://developer.android.com/sdk/1.5_r2/index.html
Quand on lance RELEASE_NOTE on peu voir
Android 1.1 SDK, Release 1
Est-ce la veritable SDK 1.5 qui est disponible sur le site?
Sinon je vais developper en 1.1, mais c’est dommage ^^
05 août 2009 à 11 h 39 min
Si ca peut aider voila comment il faut placer le code dans la classe principale :
package com.moi.android.MonAppli;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
public class MonAppli extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
return true;
}
}
12 août 2009 à 13 h 04 min
salut je suis débutant sur android et en faisant ce tuto je me suis aperçu que je n’avait pas le répertoire menu dans layout mais juste un fichier main.xml quelqu’un sait comment ca se fait?
01 décembre 2009 à 16 h 14 min
Bonjour greg,
Tu peux créer le dossier menu puis ensuite créer le fichier “options_menu.xml” dedans.
23 décembre 2009 à 18 h 14 min
Dommage que l’on ne peut pas agrandir les Screenshots
J’ai un problème lorsque je crée le fichier options_menu.xml, la console me renvoi une erreur : [chemin du fichier XML]:2 Error parsing XML: no element found
23 décembre 2009 à 18 h 34 min
@Smith tu l’as rajouté dans le repertoire menu
23 décembre 2009 à 18 h 38 min
oui, répertoire menu que j’ai du le créer, il n’existais pas.
23 décembre 2009 à 18 h 46 min
oui
18 avril 2010 à 15 h 37 min
Bonjour,
Voilà j’ai créé mon application pour mobile(je le destine principalement au mobile).
J’en suis au développement.
Au début je pensais à l’iphone, pb je n’ai aucun matériel Apple et non de dieu que ça coute cher (je suis au chomage peu pas investir dans ce matos d’autant que je ne suis pas sûr d’y arriver). Aujourd’hui j’avoue que je suis un peu perdu, on m’a orienté Android.
Au niveau language, je ne connais que php, html et css un peu js et j’ai fait un peu d’algo.
J’ai essayé de téléchargé SDK, mais il semble qu’il faut télécharger Elipse auparavant.
Merci d’avance de votre aide et de vos conseils et me confirmer s’il faut télécharger Elipse ou bien est-ce qu’un autre logiciel (genre note pad suffit) ?
Est-ce que je peux développer en php ? (site internet) et est-ce que cela suffit pour s’appliquer au mobile ?
Merci encore et bonne journée.
Sylvie
18 avril 2010 à 22 h 29 min
En effet il faut que tu télécharge Eclipse, certes tu peux faire ton application avec notepad ^^ mais je te souhaite bon courage ! Il y a toutes sorte de tutoriel sur l’installation du SDK et d’éclipse sur le net. Les apps Android se développe en JAVA, je te conseille de te documenter sur se langage avant de te lancé dans le dev Android, tu peux allé faire un tour sur le SiteDuZero, il y a un super tutoriel sur le JAVA.
Ensuite je ne peux que te conseiller le Dev Guide d’ Android.
T’es connaissance en xHTML, CSS … peuvent peut être intéressant, par exemple si tu veux vendre ton application, un site avec une bonne interface est un achat assuré
Mais cela m’ étonnerai que tu puisse développé une app en PHP pour android.
Bye, Smith
16 mai 2010 à 20 h 57 min
Bonsoir,
J’essaie de faire ce menu, mais à chaque fois il me retourne une erreur.
[2010-05-16 21:45:15 - Recette] Error in an XML file: aborting build.
[2010-05-16 21:45:15 - Recette] W/ResourceType( 2620): Bad XML block: header size 3 or total size 230192 is larger than data size 0
[2010-05-16 21:45:15 - Recette] D:\eclipse\Workspace\Recette\res\menu\options_menu.xml:1: ERROR Error parsing XML: no element found
J’ai créé le répertoire menu, j’ai créé mon fichier xml dedans. Jusque là tout va bien. Mais au moment de compiler… paf j’ai cette erreur.
J’ai recommencer, en mettant les items de suite, en compilant avec le menu vide, avec la fenêtre fermée, et même avec toutes les fenêtres de code source fermées. Rien n’y fait… alors que dois je faire ?
16 mai 2010 à 21 h 18 min
J’ai fait un “clean” sur mon appli et depuis ça fonctionne bien ! Je passe donc à l’étape suivante.
17 mai 2010 à 16 h 28 min
Bonjour, pour ceux qui n’arrivent pas via ce tuto, voici les grandes lignes :
1- Créer votre projet android sous eclipse.
2- Dans le dossier :/res, créer un dossier nommer le menu, dans ce dernier créer un fichier XML : main_menu.xml : remplissez le par les lignes suivantes.
3- Aller dans le dossier /src et ouvrez votre fichier principale (nomduprojet.java) et mettez les lignes suivantes:
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
public class prof extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
}
// @Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.icon: Toast.makeText(this, “You pressed the icon!”, Toast.LENGTH_LONG).show();
break;
case R.id.text: Toast.makeText(this, “You pressed the text!”, Toast.LENGTH_LONG).show();
break;
case R.id.icontext: Toast.makeText(this, “You pressed the icon and text!”, Toast.LENGTH_LONG).show();
break;
}
return true;
}
}
4- lancer l’appli et puis sur le clavier cliquer sur la touche “menu” pour voir apparaitre votre menu