Skip to content

15 juin 2010 | Rédigé par Axon

143

Première application : Hello « moi » [Tutoriel Android n°3]

Comme promis sur Twitter voici le premier tutoriel de développement Android. Si vous n’avez pas installé le SDK Android pour Eclipse ou Netbeans faites-le c’est indispensable. Nous allons donc faire aujourd’hui une petite variante du Hello World, le Hello « Moi ».

Création d’un projet Android

Alors pour commencer cliquez sur File >>> New >>> Android Project. Il se peut que le menu Android Project ne soit pas directement disponible, il faut alors faire File >>> New >>> Other… >>> Android >>> Android Project. Une fenêtre de création de nouveau projet Android va s’ouvrir et vous devrez y renseigner le nom du projet, la version minimal du SDK, le nom de l’application, le nom du package, le nom de l’activité créée automatiquement et enfin indiquer le numéro de l’API de la version du SDK. Bon après avoir débité mon charabia je vous mets un petit screen de ce que j’ai fait pour créer ma première application Android.


Quelques petites explications s’imposent peut être. Je pense que le nom du projet et le nom de l’application ne pose pas de problème moi j’ai mis le même nom mais il est possible de mettre deux noms différents. Le nom du package se forme également à votre convenance pas trop de changement par rapport au développement JAVA. La checkBox  »Create Activity » permet de créer d’emblée une activité, c’est à dire pour faire simple une classe java qui sera exécutée par l’intermédiaire de vues. Le nom de cette activité ne doit pas être obligatoirement le même que celui du projet ou de l’application. Enfin il est nécessaire de cocher la version de la plate-forme sur laquelle on souhaite développer. Ici, moi j’ai choisi Android 1.6 (car la plupart des téléphones tournent au minimum sous Android 1.6, sauf mon HTC Hero qui tourne sous Android 1.5 mais bon… ), ensuite vous pouvez indiquer la version minimum du SDK qui correspond au chiffre dans la colonne API…

Une fois tout cela rempli, cliquez sur Finish et vous devez avoir un projet Android qui s’est créé de la façon suivante :

Sans rien toucher au projet nous allons compiler et lancer l’application, pour cela faites un clic droit sur le projet puis Run as >>> Android Application

Note : il se peut que votre projet contienne une erreur lors de sa création (petite croix rouge à côté du projet), je ne sais pas à quoi c’est dû mais le seul moyen que j’ai trouvé pour résoudre ce problème, c’est de fermer Eclipse et de l’ouvrir de nouveau. Et normalement tout devrait fonctionner.

Vous allez sûrement avoir un message vous demandant de configurer un nouvel AVD (Android Virtual Device), ce qui signifie que l’on doit configurer l’émulateur Android. Pour ceux qui l’ont déjà fait vous n’avez pas besoin de le refaire.

Configuration d’un nouvel AVD (Android Virtual Device)

Voici le message dont je viens de vous parler :

Cliquez sur Yes. La fenêtre « AVD Manager » apparait cliquez sur New.

Remplissez les champs de la fenêtre de création d’un nouvel AVD comme ci-dessous puis Create AVD et ensuite sur Launch :

Et normalement après un petit temps de chargement vous devriez voir apparaître sous vos yeux ébahis ceci :

Bon maintenant passons aux choses sérieuses (si je puis dire à notre niveau…) et commençons à programmer un petit peu.

Android : JAVA et surtout XML

IMPORTANT : N’oubliez pas d’enregistrer le projet après chaque étape (Ctrl + S)

Et oui la programmation sous Android nécessite d’utiliser du XML, mais vous verrez cela n’est pas très compliqué, alors commençons. Pour cela double cliquez sur le fichier strings.xml situé dans res >>> values et modifiez l’attribut app_name (un simple clic suffit) en lui indiquant dans le champ Value « Hello moi » (par exemple). Vous venez de changer le nom de votre application. Ainsi, avant, en haut à gauche de votre application il y avait écrit « Tutoriel1_Android », et il y aura désormais écrit « Hello moi ».


Maintenant supprimez l’attribut hello (un simple clic sur l’attribut puis cliquez sur le bouton Remove…), nous allons en créer de nouveaux (cf. ci-dessus). Pour cela, cliquez sur Add… choisissez String puis cliquez sur OK. Ensuite, inscrivez dans le champ Name : « prenom » et dans le champ Value : « Entrez votre prénom : » . Répétez l’opération d’ajout avec les couples Name/Value suivant : « prenomHint/Tapez votre prénom » et « bouton/Envoyer« .

Créons maintenant de nouveaux fichiers XML pour mettre un peu de couleurs et de grandeurs par la suite. Faites un clic droit sur le dossier values (à gauche cf. image ci-dessus) cliquez sur New >>> Android XML File puis remplissez le champ File par dimensions.xml puis cochez Values et cliquez sur Finish. Créez ensuite un nouvel attribut de type Dimension (de la même manière que précédemment pour le fichier strings.xml) avec le couple Name/Value suivant : « dimMessage/30px ». Créez de la même façon un fichier colors.xml, puis ajoutez lui un attribut de type Color avec le couple Name/Value suivant : « couleurMessage/#ffa800 « .

Création de l’interface graphique

Maintenant ouvrez le fichier main.xml (qui se situe dans res >>> layout) et copiez/collez ceci :

<?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:id="@+id/TextViewPrenom"
    	android:layout_width="fill_parent"
    	android:layout_height="wrap_content"
    	android:text="@string/prenom"
    	/>
 
   	 <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
	    <EditText android:id="@+id/EditTextPrenom"
	    	android:layout_width="wrap_content"
	    	android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_gravity="bottom"
	    	android:hint="@string/prenomHint"
	    	/>
 
	    <Button android:id="@+id/ButtonEnvoyer"
	    	android:layout_width="wrap_content"
	    	android:layout_height="wrap_content"
	    	android:text="@string/bouton"
	    	/>
	</LinearLayout>
 
	<TextView android:id="@+id/TextViewHello"
	    android:layout_width="wrap_content"
	    android:layout_height="fill_parent"
	    android:layout_gravity="center_horizontal"
	    android:textSize="@dimen/dimMessage"
	    android:textColor="@color/couleurMessage"
	    />
 
</LinearLayout>

Les explications :

  • android:id >>> permet de donner un id à l’élément que l’on créer, ce qui nous permettra de le récupérer dans notre code java plus tard
  • android:layout_width et android:layout_height>>>permet de définir le remplissage de l’élément (en largeur et en hauteur)
    • fill_parent >>> indique que l’élément prend  toute la place disponible (en largeur et/ou en hauteur)
    • wrap_content >>> indique que l’élément prend uniquement la place qu’il a besoins (en largeur et/ou en hauteur)
  • android:layout_gravity >>> permet de préciser la position de l’élément (center_horizontal, center_vertical, etc…)
  • android:text >>> permet de configurer le texte qui s’affichera, ici dans notre exemple on utilise les attributs du fichier strings.xml que l’on a créé tout à l’heure
  • android:textSize >>> permet de configurer la taille du texte, on utilise cette fois l’attribut du fichierdimensions.xml
  • android:textColor >>> permet de configurer la couleur du texte, on utilise cette fois l’attribut du fichiercolors.xml
  • android:hint >>> permet de configurer le texte qui s’affichera lorsque EditText est vide, et encore une fois on utilise un attribut du fichier strings.xml
  • android:layout_weight >>> je n’ai pas trop compris à quoi ça sert ;) il me semble que c’est un poids déterminant la taille de l’élément par rapport à l’autre ainsi l’EditText prendra plus de place que le Button. Si un spécialiste passe par ici, qu’il nous éclaire

Voilà pour les petites explications si vous n’avez pas compris quelques choses laissez votre question en commentaire. Maintenant si l’on compile et lance l’application on devrait obtenir ceci :

Création de l’évènement en JAVA

Si tout est ok continuons et commençons à programmer en JAVA. Il va falloir mettre un écouteur d’évènement sur le bouton « Envoyer » pour récupérer le texte que vous aurez entré préalablement dans l’EditText, et afficher « Hello votrePrenom » de deux manières. Je vous donne directement le code commenté, il ne vous reste plus qu’à faire un copier/coller dans le fichier Tutoriel1_Android.java.

package com.tutomobile.android.tuto1;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
public class Tutoriel1_Android extends Activity {
 
	private EditText editText;
	private Button button;
	private String prenom;
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        //récupération de l'EditText grâce à son ID
        editText = (EditText) findViewById(R.id.EditTextPrenom);
 
        //récupération du bouton grâce à son ID
        button = (Button) findViewById(R.id.ButtonEnvoyer);
 
        //on applique un écouteur d'évenement au clique sur le bouton
        button.setOnClickListener(
        	new OnClickListener() {
			@Override
			public void onClick(View v) {
				//on réupère le texte écrit dans l'EditText
				prenom = editText.getText().toString();
 
			        //on affiche "Hello votrePrenom ! " dans une petit pop-up qui s'affiche quelques seconde en bas d'écran
			        Toast.makeText(Tutoriel1_Android.this,	"Hello " + prenom + " !", Toast.LENGTH_LONG).show();
 
			        /*on affiche &quot;Hello votrePrenom ! &quot; dans un textView que l'on a créé tout à l'heure
			         * et dont on avait pas précisé la valeur de son texte il s'agit du dernier TextView dans le fichier main.xml
			         * De toute façon grâce à l'ID vous devrez facilement le trouver dans le fichier main.xml
			         */
			        ((TextView)findViewById(R.id.TextViewHello)).setText("Hello " + prenom + " !");
			}
		}
        );
    }
}

Une fois que vous avez mis en place ce code JAVA, si vous lancez l’application, que vous entrez votre prénom et que vous cliquez sur le bouton « Envoyer » vous devriez voir apparaître ceci :

Voici la fin de ce premier tutoriel d’application Android, j’espère qu’il vous aura plu et surtout qu’il aura été clair. Si jamais vous avez une question bête ou compliqué, laissez un commentaire et j’essaierai d’y répondre quoi qu’il arrive car elle ne pourra que me faire progresser.

A bientôt, pour un nouveau tutoriel d’application Android et n’hésitez pas à partager ce tuto sur FaceBook ou Twitter ;)

PS : désolé pour les fautes d’orthographe mais n’hésitez pas à me les dire je les corrigerai…

Tutoriel inspiré du tuto de pointgphone et du livre Programmation Android (Edition Eyrolles)

Découvrez d'autre articles de la catégorie Tutoriels Android

Encore un peu de lecture :

143 Commentaires Poster un commentaire
  1. Adrien
    27 jan 2011

    Je viens de voir qu’un tuto était fait pour ça, je retire donc ma question. Désolé !

  2. Riadh
    1 fév 2011

    salut je vous remercie pour tout votre aide ..vraiment ces sont des bons Tutorial,je suis entrain de préparer mon projet fin d’étude mais je ne sait pas le syntaxe de programmation .j’attend votre réponse et merci pour votre aide d’avant

  3. Nassertom
    9 fév 2011

    Bonjour et merci pour la qualité de vos tutos.

    J’ai une question concernant le layout. Je vois que concernant les noms des objets, vous faites référence aux fichiers xml strings, dimensions et colors.

    pourquoi dans le layout il est écrit ceci :
    android:textSize= »@dimen/dimMessage »

    et non cela :
    android:textSize= »@dimensions/dimMessage »

    idem pour color qui n’a pas de « s »

    j’ai constaté que cela génère une erreur si je le change.

    y a-t-il une règle ? (car string fait 6 caractères alors que dimen en fait 5…)

    D’avance merci,
    Cordialement

  4. 9 fév 2011

    @Nassertom : Il n’y a pas de règle à ma connaissance, la seule règle c’est que pour une dimension c’est @dimen et pour une couleur c’est @color… ;)

  5. Erwan
    9 fév 2011

    salut, j’ai un petit soucis lors de la creation de fichier xml, j’ai ce message d’erreur

     » Error in an XML file: aborting build.  »

    voila si quelqu’un peut m’aider merci bcp.

  6. Tiyo
    18 fév 2011

    Merci pour ce tuto, Il est très intéressant.

    @Erwan: fait un clique droit sur ton fichier puis « Open with » et tu choisis « XML Editor ». Ensuite tu cliques sur « Source » en bas de la fenêtre de ton fichier.

  7. 20 fév 2011

    @Nassertom : Regarde le source du fichier XML (en bas de l’éditeur, tu peux switcher entre l’éditeur facile et le code source). Le Tag Name s’appelle « dimen » pour dimensions. Donc, ce n’est pas une invention, ça correspond au Tag Name dans les fichiers XML.

    Peu importe qu’ils soient dans un fichier dimensions ou autre, du moment qu’il est enfant de resources, il sera cherché là dedans. Le fait de les mettre dans des fichiers séparés aident à retrouver les paramètres dans cet exemple. Mais on aurait pu tous les mettre au même endroit.

  8. Bene
    20 fév 2011

    Bonjour, moi j’ai une croix rouge sur le fichier ‘AndroidManifest.xml’

    J’ai essayé 2-3 truc mais rien ne fait partir cette erreur si quelqu’un a eu le même problème et qu’il l’a résolue passe par la…

    Merci pour ce tuto en tout cas.

  9. jaafar
    1 mar 2011

    salut svp j’ai un probléme au niveau partie xml

    voila type de erreur
    error: Error: No resource found that matches the given name (at ‘textColor’ with value ‘@color/couleurMessage’). main.xml /Tutoriel1_Android/res/layout line 34 Android AAPT Problem
    merci

  10. chris
    3 mar 2011

    comment on fait la partie java, j’ai pas trouvé où mettre le code ?

  11. chris
    3 mar 2011

    j’ai trouvé ou mettre le code

    j’ai une erreur avec id.ButtonEnvoyer et id.EditTextPrenom

  12. YIMEN GAEL
    14 avr 2011

    J’ai réalisé ce tutoriel, mais je n’obtiens pas les resultats escomptés.

    Sur l’ecran de mon emulateur, je vois le message NO SERVICE.

    J’utilise la version 2.2 du SDK de ANDROID.

    Merci

  13. Mc Flurry
    27 avr 2011

    J’ai rencontré ce bug :

    Eclipse me soulignait le R de cette ligne à la création du projet.

    setContentView(R.layout.main);

    La solution est de placer dans la zone des import cette ligne :

    import android.R;

    et de la supprimer ensuite (doc Android).
    Voila, si ça peut aider certains…

  14. 15 juin 2011

    Merci pour le tutoriel mais n’y a t-il pas une erreur dans le code?
    public class Tutoriel1_Android extends Activity {

    car moi j’ai dû mettre :

    public class Tutoriel1_AndroidActivity extends Activity {

    Enfin c’est peut être car je n’ai pas Tutoriel1_Android.java mais Tutoriel1_AndroidActivity.java
    Pourquoi je n’ai pas la même chose alors que j’ai tout écris pareil que dans le tuto?
    Enfin ça marche quand même ^^

  15. irock
    23 juin 2011

    Merci !

    Mais petite question de débutant… Mais comment fait-on pour transférer cette belle application sur son portable ou sa tablette ?

    Merci de vos réponses !

  16. phiphi36
    5 août 2011

    Bonjour et merci pour le tuto :-)

    Mais quand je rentre le code dans le fichier « Tutoriel1_Android.java » éclipse me trouve tout plein d’erreurs (notement il me souligne tout les « R » ,j’ai donc essayé de faire ce que Mc Flurry a dit mais sa n’a rein donner … :(
    Il me souligne aussi : « onClick(View v) »

    Help me please :-)

  17. fati
    8 août 2011

    Merci pour le tuto. bein j fé un premier test é ça marche après j’ai voulu travailler sur mon projet alors après avoir tt effacer j vx dire les devices déjà créés et les projets j voulais créer un nouveau device et ça donne ça [2011-08-08 09:12:40 - SDK Manager] Error: Target location is not inside the SDK.
    [2011-08-08 09:12:40 - SDK Manager] Failed to set image path properties in the AVD folder.

  18. Julien
    22 août 2011

    Super tuto merci!

    J’ai juste un problème: Quand je copie ton fichier xml et que je compile, ca m’affiche toujours la même chose. Càd écran noir avec « A N D R O I D _ » au mileu. Pourtant, celà s’affiche bien dans le « Graphical Layout » du fichier main.xml…

    Que faire?

  19. Jimmo3
    30 août 2011

    Merci pour ce tutoriel. C’est parfait pour commencer.

  20. thefriend
    4 sept 2011

    Je ne trouves pas où coller le texte de la partie java ?

  21. thefriend
    4 sept 2011

    Je me réponds… Pour ceux qui cherches comme moi.
    src->com.tutomobile.android.tuto1->Tutoriel1_androidActivity.java

    Double clic pour éditer.

  22. Vincent
    12 sept 2011

    Salut,

    Très bien ce tuto ! J’ai tout fait comme tu dis mais il m’affiche une erreur dans le fichier .java sur le @overide juste après le OnClickListener() … Le mosieur me dit  » Multiple markers at this line » et me recommande de zapper le @override juste au dessus … Du coup je le supprime, ca fonctionne nickel sauf que j’ai beau tapper ce que je veux dans le champs texte, il ne m’affiche que la string sans ma variable prenom … comme si prenom == «  » … une solution ?

    Merci :)

  23. Houle
    14 sept 2011

    Yop,

    Merci bien pour ce super tuto pour commencer à prendre en main Android.

    Great Job =)

  24. wael_r
    14 sept 2011

    bonjour,
    j’ai suivi a la lettre tout le tuto mais a la fin quand je compile je n’ai pas le Hello World.. ça m’affiche seulement le mot ‘Android’… HELP PLEASE

  25. lolodusud
    17 sept 2011

    bonjour,
    pour ceux à qui s’affiche le logo android… patientez et l’appli va se lancer. en effet le ADV est tres tres long a se lancer.

    comme phiphi36 j’ai eu une petite erreur sur la methode onclick(view v)
    « must override a superclass method ».

    du coup j’ai viré le @override
    et ca marche.

    du coup je me demande à quoi sert ce @override.

  26. jarrivepo
    19 sept 2011

    la ligne @Override sert a avertir le compilateur que l’on reecrit la methode (celle qui eset juste en dessous)

    sinon il y a une erreur

  27. Boubaker
    26 sept 2011

    Bonjour , je voudrais vous remercier pour ce beau Tuto.
    j ‘ai un problème au niveau du fichier strings.xml , donc j’ai eu ce message dans la console
    «  »[2011-09-26 11:08:28 - Tutoriel1_Android] Error in an XML file: aborting build. »"
    avec des croix rouges sous xml en indiquant «  » the word xml is not correctly spelled «  »

    Merci

  28. Boubaker
    26 sept 2011

    Svp j’ai déja posté mon probléme ,est ce que vous pouvez me répondre afin que je puisse continuer a suivre ce cours
    voici qcq indications sur mon probléme :

    «  »Could not open the editor: Android XML Editor Error »"

    org.eclipse.core.runtime.CoreException: Error opening the Android XML editor. Is the document an XML file?
    at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.createTextEditor(AndroidXmlEditor.java:664)
    at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.createAndroidPages(AndroidXmlEditor.java:228)
    at com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor.addPages(AndroidXmlEditor.java:218)
    at org.eclipse.ui.forms.editor.FormEditor.createPages(FormEditor.java:138)
    at org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:357)
    at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:662)
    at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:462)
    at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
    at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:286)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2857)
    at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
    at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
    at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
    at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)
    at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
    at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
    at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:361)
    at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:168)
    at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:229)
    at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:208)
    at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
    at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:250)
    at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:373)
    at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:526)
    at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
    at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:842)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.runtime.Platform.run(Platform.java:888)
    at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
    at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
    at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:840)
    at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1101)
    at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1205)
    at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:264)
    at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:258)
    at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:298)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
    at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
    at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1311)

  29. Edge
    3 nov 2011

    Tout comme phiphi36 et lolodusud, la methode onClick(View v) est soulignée.

    Si je vire le « @override », ça compile, mais l’appli plante sur l’émulateur…

    Des idées ?

    Merci

  30. Gustou
    21 nov 2011

    Bonjour tout le monde, et merci pour ce tuto.

    Je confirme pour le @override. Je l’ai enlevé et ça fonctionne.

    J’ai cependant le même problème que Boubaker concernant l’utilisation des éditeurs Android. Quelque soit celui que j’utilise (Android Color Editor, Android Layout Editor, etc…), j’ai toujours le même message d’erreur « Unsupported content type in editor ». Eclipse m’invite à vérifier les associations, mais tout me semble correct. J’ai consulté plusieurs forums qui parlent de ce problème, mais aucune solution proposée ne m’a permis de le résoudre.

    Une idée?

    Merci.

    PS : Pour l’émulateur, préférer le format HVGA qui est beaucoup plus rapide à se lancer.

  31. mouss
    4 jan 2012

    Bonjour les gens et merci pour ce beau tuto

    mais j’ai un problème car en effet au niveau du main.xml, la console m’affiche 2 erreurs

    error: Error parsing XML: XML or text declaration not at start of entity main.xml /APLN_premiere_application/res/layout line 5 Android AAPT Problem

    et

    The processing instruction target matching « [xX][mM][lL] » is not allowed. main.xml /APLN_premiere_application/res/layout line 5 Android XML Format Problem

    et la croix rouge au niveau du code se trouve à la première ligne de code, c’est-à-dire :

    Pouvez-vous m’aider s’il-vous-plait?

  32. mouss
    4 jan 2012

    desole jai vu mon erreur, j’ai melangé les tutos :)

  33. fatma
    14 jan 2012

    j’ai trouvé l’erreur suivant « Could not open: C:\Users\jmal hamdi\.android/avd/emulat.ini »lors de la creation de mon emulateur avd qu’es ce que je fais? si’l vous plait aidez moi

  34. fatma
    14 jan 2012

    bonsoir
    sil vous plait je trouve tjrs un erreur : »Could not open: C:\Users\jmal hamdi\.android/avd/emulat.ini » lors de la creation d »emulateur avd .aide moi pleaaaaaaaaase

  35. Renard
    26 avr 2012

    Bonjour,

    Je bloque à la dernière étape, pour le code jave, je le mets où, je ne trouve pas …
    J’ai bien l’interface, tout va bien mais je ne comprends pas comment ajouter l’écouteur sur le bouton
    Merci pour votre aide

  36. camara
    31 mai 2012

    Bonjour,

    J’aimerai récupérer le prénom qui a été rentré dans une autre activité par exemple pour pouvoir faire un stockage.

    Je suis dans une impasse.

    Merci d’avance

  37. 31 mai 2012

    @camara : Soit tu le stock directment dans une préférence et tu le récupère dans ton autre activité soit tu le passe en extra dans l’intent qui te permet d’aller dans l’autre activité.

  38. camara
    31 mai 2012

    @Axon

    j’ai utilisé le lien ci-dessous avec les Extras mais j’ai une erreur NullException

    http://stackoverflow.com/questions/4233873/how-to-get-extra-data-from-intent-in-android#

    C’est vraiment bizarr

  39. Nk54
    7 juin 2012

    Bonjour, mon commentaire n’a pas fonctionné :(

    Donc je disais que ce tuto est excellent comme le premier !

    Mais j’ai une question : comment faire la même chose en 2.1 ? Voici mon problème : en 1.6 j’ai bien directement l’appli qui se lance après dévérouillage de l’écran. Mais en 2.1, j’arrive sur le premier desktop avec les shortcuts. Quand je regarde dans les applications dispo depuis l’emulateur je ne trouve pas monApplicationTest. Comment faire ?

    Merci d’avance

Trackbacks & Pingbacks

  1. Erreur Force Close : détecter l’erreur [Tutoriel Android n°4] | Tuto Mobile
  2. [Tutoriel Android] Internationalisation d'une application Android | Tuto Mobile
  3. Développer sous Android avec Eclipse | Mobile en France
  4. Créez des applications pour Android ! | Jordan Viard.com

Une question, une suggestion, une opinion? Partagez ce que vous pensez, laissez un commentaire.

(obligatoire)
(obligatoire)

Note: Votre adresse email ne sera jamais publiée.

Suivez les réponses aux commentaires