Cyril Mottier vous avait présenté l’arborescence d’un projet Android et les principaux composants d’une application. Impatients de mettre la main à la pâte? On attaque maintenant les choses sérieuses avec une version améliorée du célèbre “Hello World”, avec le SDK Android 1.5 s’il vous plaît !
Nous y voilà enfin ! Les “guerriers” qui ont eu le courage de lire les deux premières parties de ce tutorial vont enfin pouvoir arriver à leurs fins. Cette fin c’est la réalisation de votre premier programme sur Android. Comme à l’accoutumée, il m’a semblé judicieux de faire ce que tout bon professeur enseigne à ses élèves lors de l’apprentissage d’une nouvelle technologie ou d’un nouveau langage : un “Hello World”.
Certains d’entre vous ont probablement remarqué qu’avec le plugin ADT (Android Development Tools) d’Eclipse, la création d’un nouveau projet Android revient en fait à la création d’un programme de type “Hello World”. Ce “Hello World” est d’une simplicité enfantine. Cela permet aux débutants de mieux appréhender le développement sur Android. Dans les lignes qui suivent, nous allons créer notre propre “Hello World” en modifiant l’existant. Nous tenterons de l’améliorer d’un point de vue graphique essentiellement.
Note : Les exemples et les copies d’écran ci-dessous ont été effectués sur le SDK 1.5. Ce SDK introduit quelques nouveautés afin de faciliter le développement sur Android. On remarquera par exemple des changements au niveau de l’arborescence du projet par rapport à celle expliquée dans la partie 1 de ce tutorial
Vous noterez dans cette partie que le code Java a volontairement été réduit au maximum. Pourquoi? La réponse est assez simple. Le développement sur Android se fait bien sûr en Java comme il a été précisé dans des parties antérieures. Néanmoins, lorsqu’il s’agit d’interface graphique, le XML est préférable car plus simple et plus lisible. En effet, les ingénieurs de chez Google ont conçu un système d’expansion (inflate) de fichiers XML pour créer des interfaces graphiques. Ces fichiers XML sont ensuite utilisés, en interne par le système, pour générer l’interface graphique. Ce dernier relit les fichiers XML puis créé les objets Java associés de façon automatique.
Note : En réalité, les fichiers XML ne sont pas incorporés dans votre paquet d’installation sous forme XML. Le “parsing” (action de relire un fichier et d’en extraire les informations) est une opération relativement coûteuse. Pour contrer ce problème, les fichiers XML sont en réalité pré-parsés et incorporés sous une forme plus rapide à lire/exécuter dans le paquet d’installation. On conserve ainsi l’avantage de la lisibilité et de la facilité d’utilisation d’un point de vue utilisateur et on optimise d’autre part la relecture de ces fichiers lors de l’expansion de l’interface graphique.
Ce tutorial explique comment créer, à partir de rien, ce premier “Hello World”. La meilleure façon de bien comprendre la totalité de ce tutorial est d’en lire l’intégralité. Si vous n’avez pas réellement envie de vous attarder sur les différents points et préférez attaquer directement le code, les sources et les ressources sont disponibles dans ce fichier.
Maintenant que les quelques précisions ont été données, nous pouvons créer notre premier “Hello World”. Pour ce faire, commençons par créer le projet dans l’environnement Eclipse. Cliquez sur File > New > Other… > Android Project. Une boite de dialogue un peu modifiée en comparaison de celle présentée en partie 1 s’ouvre. Remplissez là comme suit :

Validez la création du projet en cliquant sur Finish. Nous voilà maintenant en présence d’un projet de type “Hello World” affichant simplement un texte à l’écran. Pour lancer l’application sur l’émulateur, cliquez simplement sur Run > Run ou sur l’icône représentant un cercle vert et contenant un triangle blanc. Une boite de dialogue s’ouvre alors et vous demande quel sera le type de l’exécution. Dans notre cas nous souhaitons bien sûr que l’exécution se fasse sous la forme d’”Android Application”.
L’objectif de cette partie est d’améliorer ce “Hello World” en n’utilisant presqu’exclusivement que du XML. Listons tout d’abord les différentes valeurs et ressources que nous utiliserons:
Commençons par créer les différentes chaines de caractères que nous utiliserons. Ces éléments se trouvent dans le fichier strings.xml. Double cliquez sur ce dernier pour ouvrir la vue de modification. On y retrouve déjà deux chaines de caractères :

La première chaine est “app_name”. C’est le nom qui sera affiché dans le “Home Screen” sous l’icône de l’application. Cette chaine a pour valeur le nom de l’application donné dans la boite de dialogue à la création du projet. Il n’est donc normalement pas nécessaire de la modifier. La chaine “hello” par contre ne satisfait pas à nos critères et nous allons donc changer sa valeur à “Hello World”. Enregistrez le fichier pour valider les changements.
Créons maintenant une nouvelle couleur qui servira pour l’affichage de la chaine de caractère “Hello World”. Il nous faut un fichier colors.xml. De base, ce fichier n’existe pas et il faut donc le créer manuellement. Pour ce faire cliquez simplement sur l’icone Android disposant d’un signe plus vert. Une boite de dialogue, qui a été introduite avec le SDK 1.5, apparait. Nous souhaitons créer un fichier colors.xml qui contiendra des valeurs (values) relatives aux couleurs. ADT s’occupe automatiquement de créer le fichier dans le bon répertoire (c’est à dire res/values).

Le fichier de ressources colors.xml étant maintenant créé, il ne nous reste plus qu’à y ajouter une couleur. La couleur sera le blanc parfait “white” et la valeur associée “#fff”. Cliquez sur Add > Color et remplissez les champs avec les valeurs adéquates. Notez qu’Android gère plusieurs formats de couleurs que sont #RGB, #ARGB, #RRGGBB et #AARRGGBB. Ce sont les notations hexadécimales des couleurs R représentant le rouge, G le vert, B le bleu et A le canal alpha (la transparence).
Pour créer la dimension de la chaine de caractères “Hello World”, il suffit de réitérer l’opération. Comme vous vous en doutez probablement, l’objectif est de créer un fichier dimensions.xml et d’y inclure le couple nom/valeur suivant : “dim_hello”/”20px”. Dans notre cas, nous utilisons les pixels (px) comme mesure mais d’autres dimensions sont disponibles : in, mm, pt, dp et sp.
Ajoutons, pour finir l’image de la mascotte Android dans le dossier des drawables. Il suffit simplement d’effectuer un glisser/déposer dans le dossier drawable à l’aide d’Eclipse. Vous pouvez aussi directement inclure le fichier dans votre workspace puis lancer un rafraichissement de votre projet par un F5 dans Eclipse.
Note : En réalité, Android peut gérer les ressources présentes dans un seul et unique fichier de valeurs. Néanmoins, l’expérience prouve que mélanger les chaines de caractères, les couleurs, les tableaux d’entier, les dimensions, etc. n’aide pas à la compréhension d’un projet. De plus lors de l’internationalisation (i18n), il est inutile de traduire des grandeurs indépendantes de la localisation telles que les couleurs ou les dimensions par exemple. Il est donc préférable de séparer l’ensemble des ressources par type comme il est fait dans ce tutorial.
Toutes les ressources sont maintenant prêtes. Nous pouvons modifier l’interface graphique. Double-cliquez sur main.xml. L’éditeur de “layout” s’affiche. Il vous est possible de créer l’interface en mode graphique ou en tapant simplement le fichier XML à la main. Pour basculer entre les modes, utilisez les onglets en bas de la fenêtre. L’interface graphique étant assez facile d’utilisation, nous allons directement taper le code XML. Notre objectif est d’afficher l’image de la mascotte Android avec un “Hello World” en dessous. Le tout sera également centré quelque soit le type d’écran ou l’orientation utilisé. Le code ci-dessous représente l’interface graphique voulue :
<?xml version="1.0" encoding="utf-8"?> <linearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical|center_horizontal" android:orientation="vertical"> <imageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:src="@drawable/tex" /> <textView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="@string/hello" android:textColor="@color/white" android:textSize="@dimen/dim_hello" /> </linearLayout>
De façon globale, l’interface graphique précédente dispose d’un unique élément LinearLayout à la racine englobant deux autres éléments ImageView et TextView. Etudions maintenant plus en détail l’utilité de ses éléments et surtout leurs attributs. Lorsqu’on créé une interface graphique, on souhaite “ranger” les composants graphiques afin que ces derniers s’affiche à l’écran. Parmi les possibilités les plus courantes, on trouve :
RelativeLayout qui laisse les éléments fils se positionner par rapport au parent (positionnement relatif).AbsoluteLayout qui permet aux éléments fils de se positionner de façon exacte par rapport au parent. Un élément fils définit alors une coordonnée exacte.FrameLayout est un élément très basique qui oblige l’ensemble de ces enfants à se placer au coin supérieur gauche.LinearLayout aligne l’ensemble de ses enfants dans une direction unique : horizontale ou verticale. Les éléments sont ensuite empilés les uns aprés les autres. Ce genre de layout n’affiche donc qu’un seul élément par ligne ou colonne (cela dépend de l’orientation choisie)Dans notre cas, on souhaite afficher les éléments les uns au dessous des autres. On utilise donc un LinearLayout. Les attributs de l’élément sont ensuite les suivants :
xmlns:android="http://schemas.android.com/apk/res/android" définit le namespace android. Cette ligne doit obligatoirement être ajoutée à l’élément racineandroid:layout_width="wrap_content" indique à l’élément que sa largeur doit s’adapter au contenu. Les autres valeurs possibles sont “fill_parent” qui indique que l’élément va s’agrandir pour remplir totalement son parent. Il est également possible d’utiliser une dimension pour obtenir une taille fixeandroid:layout_height="wrap_content" indique, à l’instar du précédent que la hauteur doit s’adapter au contenu. Cet attribut est, comme le précédent, obligatoire pour l’ensemble des éléments graphiques car il permet au système de connaitre avec exactitude la place prise par l’élément à l’écranandroid:layout_gravity="center_vertical|center_horizontal" oblige l’élément à se centrer de façon verticale et horizontale dans son parentandroid:orientation="vertical"permet d’orienter le layout de façon verticale. Les éléments seront empilés les un au dessous des autres
On insère ensuite dans le layout l’image. Cette dernière est incluse grâce à la vue ImageView à laquelle on assigne, grâce à l’attribut android:src, l’image de la mascotte. Cette image a pour nom original “tex.png” et se trouve dans le dossier drawable. Pour l’inclure on utilise donc la syntaxe @drawable/ suivi de son nom sans l’extension. L’inclusion d’une zone de texte suit la même logique. On utilise une TextView à laquelle on associe les différentes valeurs préparées en début de partie. La valeur android:text se trouve dans le fichier strings.xml, on y accède donc par @string/hello.De la même façon, on accède à la couleur par @color/white et à la dimension par @dimen/dim_hello. Notre interface graphique est maintenant terminée. Il nous reste à l’utiliser dans notre code Java. Il suffit de se rendre dans HelloWorld.java. Ce fichier contient le code suivant :
package com.cyrilmottier.android.helloworld; import android.app.Activity; import android.os.Bundle; public class HelloWorld extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }
On ne peut pas faire plus simple ! HelloWorld hérite bien d’Activity et c’est ce que nous souhaitons puisque, comme expliqué dans la partie 2, une activité permet d’afficher une interface graphique à l’utilisateur. La mise en place de notre interface graphique s’effectue simplement en redéfinissant la méthode onCreate. On applique simplement la vue créée à l’aide de setContentView(int). L’entier passé à cette méthode est la référence de notre layout. C’est ici qu’on utilise le fichier automatiquement géré R.java. Si vous n’avez pas changé le nom du fichier de votre interface graphique, il devrait être référencé par R.layout.main.
Nous y voilà ! Notre “Hello World” est prêt ! Cela peut sembler incroyable puisque nous n’avons presque pas écrit de code Java. C’est là que se trouve une des puissances d’Android : l’instanciation d’objets par XML. Nous avons créé ici une interface graphique mais d’autres objets non graphiques sont également instanciables via XML. Vous pouvez maintenant lancer votre premier programme sur l’émulateur et contempler le résultat :

Les commentaires ne sont pas modérés avant leur publication alors n'hésitez à vous exprimer librement.
Une seule règle : Rester un minimum poli et constructif.
Vous avez des questions d'ordre général à poser? Direction le forum.
53 commentaires sur "Tutoriel Android : "Hello World" version 1.5" :
Hello,
Très bien les tutos, je me rèfère aussi sur les Dev Guides du site google developer.android.com, mais içi l’horizon s’éclairci mieux! Sinon j’ai un soucis avec l’installation de l’ADT 0.9 sur Eclipse (ganymede), Eclipse se plaint de ne pas accéder le site https://dl-ssl.google.com/android/eclipse/ (ne doit-il pas installer une version local de l’adt avec cette pre version 1.5?). Une petite idée ?
Ok alors désolé, j’ai pu installer la partie local de l’adt ( le jar file) en sélectionant le jar et cliquer sur Install. Eclipse semble ne pas se préoccuper de l’accès sur l’URL.
Je vais pouvoir tester tes suggestions du Hello World sur l’émulateur … en attendant de le faire ‘pour de vrai’ sur le HTC Magic, qui est prévu en Suisse pour … fin Mai !
Attention, si tu souhaites mettre la early-look de ADT (la 0.9) si je me rappelle bien, il faut télécharger le zip sur http://developer.android.com/sdk/preview/.
En ce qui concerne l’impossibilité de télécharger ADT à partir de l’URL https://dl-ssl.google.com/android/eclipse/ (version compatible Android 1.1), il faut tenter de passer en http et ça marchera normalement.
Cool
Tiens d’ailleurs ya des sites suisses qui parlent d’Android?
@Cyril:
Merci pour la précision, c’est bien celle-là que j’ai récupérée, ça fonctionne.
@Loic:
Je n’ai pas vu encore, de site dédié
@yeri : essait avec cette adresse
http://dl-ssl.google.com/android/eclipse/ en gros la même mais en http mais pas en https
C’est ce que je disais John
Mais merci :p
@Yeri
Test d’installer le plugin en utilisant cette adresse (enlève le ’s’ de http) et le slash à la fin de l’uri :
http://dl-ssl.google.com/android/eclipse
Chez moi ça fonctionne comme ça…
Très bon tuto
à quand le prochain ?
Surtout que sur la plupart des sites on retrouve différentes version du “hello word”
Mais malheureusement je n’ais retrouvé aucun (francophone) avec par exemple une simple application interactif avec un bouton valide ou autre.
^^ si quelqu’un en connait je suis preneur.
Merci.
Bonjour Luffy !
Merci pour les encouragements. Une suite existe bel et bien mais n’est pas encore disponible sur ce site. Nous sommes tous un peu overbooké d’où le retard. Je suis sur qu’en cherchant sur mon blog tu le trouvera et pourra le lire en avant première
Effectivement il en existe de plus en plus mais bon erreur habituel de débutant je n’avait pas encore suffisamment chercher.
Bonne continuation en espérant bientôt voir Android devenir aussi rependu par rapport à l’iphone que windows par rapport au mac…
Salut tout d’abord je voudrais dire que le tuto est très bon.
Par contre j’ai un petit soucis sur les modifications à apporter au fichier Java ce n’est pas très clair comme tu le dis on a l’impression qu’il n’y a aucunes modification à apporter cependant quand je “run” mon application (sans avoir apporter de modification dans le fichier .java) l’émulateur me signale une erreur…
Si tu pouvais m’aider à résoudre ce petit problème je t’en serais très reconnaissant
Merci
Soucis résolu merci bcp pour ce tuto ^^
Suis-je la seule à ne pas pouvoir voir le code si dessous :
“Le code ci-dessous représente l’interface graphique voulue :
De façon globale,….”
j’ai essayé avec Safari, Firefox et même internet Explorer…
merci…
C’est corrigé, mea culpa !
merci…
et sans vouloir abuser, le lien sensé donner les sources envoie sur une erreur 404… :
http://www.pointgphone.com/files/part3.zip
si tu pouvais corriger ça aussi ça serai sympa !
reponse à ma propre question :
lien (qui marche !) avec les fichiers :
http://android.cyrilmottier.co...../part3.zip
***************************************************************************
sweet
6/07/2009
Salut tout d’abord je voudrais dire que le tuto est très bon.
Par contre j’ai un petit soucis sur les modifications à apporter au fichier Java ce n’est pas très clair comme tu le dis on a l’impression qu’il n’y a aucunes modification à apporter cependant quand je “run” mon application (sans avoir apporter de modification dans le fichier .java) l’émulateur me signale une erreur…
Si tu pouvais m’aider à résoudre ce petit problème je t’en serais très reconnaissant
Merci
#
sweet
7/07/2009
Soucis résolu merci bcp pour ce tuto ^^
****************************************************************************
Il m’arrive la même chose, je n’arrive pas à mettre à jour le fichier R.java lorsque j’ajoute un fichier .png dans drawable.
Apparemment tu à réussi à trouver la solution. Peux-tu m’aider stp !!
Dayn
Please !!!
pour ceux qui galère comme moi avec un truc aussi ridicule !!!
Il faut tout simplement ajouté le fichier .png et dans le .java
par exemple ecrire:
mTabHost.addTab(mTabHost.newTabSpec(“tab_test2″)
.setIndicator(“TAB 2″, getResources().getDrawable(R.drawable.config-32.png));
une erreur se produit à gauche cliquer sur la petit croix rouge et il vous propose de créer la variable static dans le fichier R.java automatiquement.
lol tout ça pr ça
ne pas mettre le .png just le nom “config” par exemple dsl
Super tuto ! merci
Juste une petite question qui me turlupine…
Pourquoi, alors que le fichier s’appelle “dimensions.xml” le chemin dans le fichier main.xml est “@dimen/…” et idem dans R.java, la classe se nomme “dimen” et non dimensions ?!
Bonjour,
J’ai une erreur dans mon main.xml après l’avoir modifié comme indiqué dans le tuto (j’ai même fait un copier/coller), celui-ci me renvoi : classnotfoundexception: null
merci de votre aide
Tout d’abord bravo et merci pour cet excellent (et pour les autres aussi)
Après avoir suivi à la lettre ce tuto et relu plusieurs fois plusieurs passage je ne comprends toujours pas pourquoi j’obtiens un violent “Sorry – The application HelloWorld(process..) hars stopped unexpectedly. Please try again.” lorsque j’éxecute l’application sur le simulateur.
voila si jamais tu aurais une idée … c’est frustrant
P.S je n’ai pas mis la même image que dans le tuto mais je pense que cela n’a aucun incident
J’ai le meme probleme que les personnes au dessus (crash sur l’ému + class not found)
Ok problème résolu je m’auto-réponds au cas ou si dans le futur quelqu’un a le même problème que moi.
Le problème est tout bête, j’ai copier la partie du code du main.xml
Or celui-ci n’est pas bon car ne possede pas de majuscules à “LinearLayout, ImageView et enfin TextView”
voila c’est tout! merci encore pour le tuto ++
J’ai trouver le probleme, ca vient du balisage incorrecte. Essayez ca:
Grilled plus owned par la copie du xml sur une page web
Bon tuto, par contre j’ai une question,
si on souhaite mettre l’appli sur notre tél, comment faire ?
Bonjour tout le monde !
Je m’excuse pour le retard dans les réponses mais j’ai pris de tellement grandes vacances que je suis revenu un peu “largué” :p.
Pour ce qui est des problèmes de XML (majuscules, etc.) c’est un problème du à Wordpress (framework utilisé pour afficher ce site). Comme le mentionne Anthoid il faut des majuscule au début (comme pour les noms de classes Java).
Pour lee reste, je crois que tout le monde a à peu près résolu ses problèmes. Si ce n’est pas le cas, n’hésitez pas à reposter ici :p
Bonjour,
J’ai beaucoup apprecie ton tutoriel, il est tres clair. Cependant je n’arrive pas a exporter avec run. Je suis sous eclipse galileo.
J avais commence par avoir un probleme d’exportation, il etait indique.
ERROR: Application does not specify a
android.test.InstrumentationTestRunner instrumentation or does not
declare uses-library android.test.runner”
Puis j ai suivi les instructions de ce site:
http://groups.google.com/group.....&pli=1
En ajoutant ce code dans le manifeste comme indique:
<uses-library android:name="android.test.runner" /
Et maintenant le message d erreur a disparu sauf que lorsque j exporte, il n y a que l emulateur qui s ouvre.
Aurais tu une solution ?
Merci d'avance et encore bravo pour le tuto
Olivier
Bonsoir à tous.
Je voudrais d’abord te remercier pour ce tutoriel très bien expliqué.
Je souhaiterais également te poser une question. J’ai effectué toutes les modifications que tu as indiqué dans ton tuto, mais lorsque je veux lancer la version finale de l’application, j’ai droit à un “force close”. As-tu une idée d’où ça peux venir ?
Si tu as besoin de plus de détails, n’hésite pas.
Merci encore.
Romain
Bon, je viens de comprendre ma bêtise en lisant les commentaires… Ca m’apprendra à être un peu plus attentif. Désolé pour le spam…
@Olivier Dupont-Gatelmand : c’est probablement parce que tu tente de lancer tn programme ne temps que test unitaire … or c’est un programme pas un test unitaire. dans le “Play” choisit la bonne option.
@Squ36 : Parfait :p car je ne vois pas d’où ce genre d’erreur “force close” peut venir
Bonjour, tout d’abord le tuto est tres bien, il est pafaitement compréhensible mais j’ai un petit probleme avec le mail.xml pour l’image : apparament eclipse ne trouve pas le tex.png, j’ai essayé avec le fichier icon.png, il ne me jete pas, mais j’ai un force close quand j’execute le programme sur l’émulateur, vous savez d’ou ça peut venir ?
Bonne journée.
Pourrais tu expliquer l’Exception que tu obtiens?
Personnellement j’ai une question à laquelle vous pourrez surement répondre :
Quelque soit la version que j’utilise (1.5, 1.6), j’ai ce message qui apparait, tout le temps.
http://vixenshockey.free.fr/screen_android.JPG
Une solution ?
Regarde le “Logcat” dans Eclipse pour avoir plus d’information sur l’erreur. Cette boîte de dialogue est simplement due à une Exception dans ton programme.
Je suis désolé je n’y connais vraiment rien encore je me lance à peine, je te laisse regarder, surement que tu trouveras où l’erreur se situe.
http://vixenshockey.free.fr/logcat.txt
Tu as un problème au niveau de “l’inflate” XML : “java.lang.ClassNotFoundException: android.view.linearLayout in loader” … En clair, il semblerait que tu est oublié d’inclure le jar android ou un truc du genre
Là c’est bon je suis perdu lol je comprends pas, tu pourrais m’expliquer comment inclure ce fichier jar s’il te plait ?
Voila, j’ai réinstaller trois fois le tout cet apres midi mais il n’y a pas moyen, je dois oublier quelque chose.
http://vixenshockey.free.fr/screen.JPG
http://vixenshockey.free.fr/erreur.txt
Avec ce que tu me donne, tout me semble correct. C’est bizarre. Envoie moi un export de ton projet et je regarderai au plus vite
Le voila -> http://vixenshockey.free.fr/HelloWorld.rar
Ca y est, ça marche, j’ai compris !
Eclipse plantais car le code est “LinearLayout” et non “linearlayout”, eh beh dis donc j’en ai laissé des cheuveux aujourd’hui ^^
Encore merci Cyril pour ton tuto et ton aide, bien que j’ai galéré je suis plus motivé que jamais, j’attends avec impatience tes prochains tuto (en espérant un peu d’évènementiel et d’objet
)
J’allais justement te répondre car je venais de regarder ton zip
. On va me dire que je fais de la publicité, mais si tu souhaites avoir des articles divers sur Android, je ne pourrais que te suggérer de lire directement mon blog personnel à l’adresse suivante : http://android.cyrilmottier.com
Bonjour, j’ai vu que vous développez sur Android, j’ai une question simple surement pour vous mais je ne trouve pas la réponse sur le net. J’ai fais le projet “hello world” du site http://www.pointgphone.com il marche bien sur le tel virtuel mais je n’arrive pas à voir mon samsung Galaxy sur eclipse pour faire le run dessus. Si vous avez un tuyau je sur preneur. Merci d’avance.
Bonjour,
Je débute en java & ” en android ” . Je pense avoir suivi le tuto à la lettre, quand je lance le prog, je n’ai aucun message d’erreur.
L’émulateur s’affiche bien mais j’obtiens juste le mot ” ANDROID _ ” qui clignote. Je pense avoir oublié quelque chose dans la config mais je n’y connais absolument rien.
Avez vous une idée svp ?
Merci d’avance
@Stéphane : il faut que ton Galaxy soit configuré pour le développement et que les drivers soient installés sur ta machine.
@Thierry : démarrer l’émulateur est parfois une opération longue. Il arrive aussi qu’il ne démarre pas. Quand c’est comme ça, je le ferme et le réouvre. Je n’ai jamais eu de problème où l’émulateur ne démarre pas du tout.
Merci Cyril ! Autant pour moi, il me fallait juste un peu de patience, j’ai redémarré et il fonctionne
Salut,
Merci Cyril d’avoir consacré autant de temps pour ce tuto et surtout pour son suivi.
En ce qui me concerne, j’ai eu qques difficultés à suivre le tuto :
Pour remettre les choses en place, j’suis mécano à la base et je ne connais que le visual-pascal et l’assembleur. Donc complètement newbie sur Java et Eclipse.
Donc, sur ton tuto, des fois, j’ai du mal à distinguer les actions des commentaires.
J’pense que ce sont 2 notions distinctes qu’il pourrait être intéressant d’afficher de manière parallèle plutôt qu’imbriqués
Pour le glisser-déposer, j’ai rencontré qques difficultés : ça m’a pas semblé très clair. Comme le fichier icon.pgn était déjà existant dans drawable, j’ai rien fait.
Puis les compilations me renvoyaient un message d’erreur.
Là, j’ai remarqué qu’il cherchait tex.pgn. J’ai donc remplacé tex par icon.
Puis par la suite dans le répertoir drawable du projet, j’ai duppliqué icon.pgn et renomé en tex.pgn.
Maintenant, j’ai la compilation qui se lance, mais j’ai un message d’erreur sur l’émulateur :
” The application HelloWorld (process com.cyrilmottier.android.helloworld) has stopped unexpectedely. Please try again”
A chaque fois que j’try again, j’ai le même message
@Djipe : Android est fait pour tous donc y’a pas d’exclus lorsqu’il s’agit de programmer sur cette belle plateforme
.
Lorsque je parlais du glisser-déposer c’était de l’image que je parlais (du tex.png). C’est tex.ong qui sera utilisé par la suite pour s’afficher à l’écran. icon.ong c’est l’image qui sera utilisée comme icon du projet.
Avec les erreurs que tu me donnes là je ne peux pas trop t’aider. Eclipse (et ADT) fournissent un outil pratique : LogCat : c’est une console d’erreur qui te permet de lire les problèmes qu’il y a eu durant l’exécution de ton programme.
Ouvre là et dis moi ce qui ne va pas mais à mon avis le problème vient du layout : Il faut des lettres capitales à TextView, LinearLayout et ImageView … le moteur de ce blog les remets toujours en minuscule mais ça n’est pas bon
Bravo et merci pour ta réactivié !
Voilà ce qu’il me renvoit dans la console :
[2010-02-16 17:13:07 - HelloWorld1]ActivityManager: Can’t dispatch DDM chunk 46454154: no handler defined
[2010-02-16 17:13:07 - HelloWorld1]ActivityManager: Can’t dispatch DDM chunk 4d505251: no handler defined
[2010-02-16 17:13:17 - HelloWorld1]ActivityManager: Starting: Intent { comp={com.cyrilmottier.android.hellworld/com.cyrilmottier.android.hellworld.HelloWorld} }
Je viens d’ajouter les Majuscules. Et là, ça marche !
Franchement, comme disent les ricains, Cyril, you’r brilliane
Pour l’imge, j’suis dsl de paraître simple d’esprit
Mais j’ai pas encore compris :
Je dois prendre quoi et d’où pour le placer où ? Mais bon, c’est pas trop grave puisque ça fonctionne
Comme à l’époque du CPC6128, j’vais remplacer “Hello World” par “Pan sur les envahisseur” et ça me fera un jeu d’arcade tout en 3D !
Ah, c’est pas comme ça que ça marche ici non plus
En tout cas merci : par ce que maintenant, grâce à toi, j’sais comment démarrer un prog.