0. Prérequis
Il vaut mieux savoir programmer en Java et en XML pour réaliser à bien quelques applications Android. Il n’est cependant pas impossible d’apprendre ces deux langages avec Android, mais cela sera (à mon avis) à proscrire, pour des raisons d’optimisations.
Je renvoie à ce titre sur le site du zéro pour les tuto Java et XML.
1. Android, kézako ?
Android est un OS concurrent de iOS. Mais pas seulement.
C’est un OS libre, embarquant un noyau Linux, développé par Google. Le défi était, à partir du 15 novembre 2007 (date de sortie) d’intéresser les constructeurs (HTC, Motorola…). Ben oui, l’avantage (l’est-ce vraiment ?) d’Apple est qu’il n’y a qu’un seul téléphone, et donc qu’une seule cible de développement.Je vous le donne en mille, la licence pour développer pour iPhone est de 99 US $ et il faut que vos applications soient signées avant de pouvoir la tester sur votre iPhone. Et bien sûr, il faut un Mac pour développer.
Donc, revenons-en au plus important, Android est un OS en devenir, comme l’annoncent les chiffres en hausse environ à chaque sondage. Je ne vous les link pas car les sondages, on sait tous ce que ça vaut… Mais une petite analyse reste importante.
A l’heure actuelle, environ 30 smartphones embarquent Android, et la barre des 100.000 applications est bientôt franchie. Il existe de nombreux OS Android :
- 1.0,
- 1.1,
- 1.5, dit « Cupcake »,
- 1.6, dit « Donut »,
- 2.0, dit « Eclair »,
- 2.1, mise à jour mineure d’ »Eclair »,
- 2.2 actuellement, dit Froyo,
- 2.3 ou 3.0 selon rumeurs, dit Gingerbread.
Et ceci ne gêne pas les développeurs ! Et pour cause, le développeur n’a absolument pas à s’occuper de la taille de ses objets, un pourcentage suffit, et de toute façon, tout a été fait de manière à ce que le développeur ne s’occupe que du contenu.
Je vais terminer l’introduction par cette question : pourquoi développer pour Android ?
Pour plusieurs raisons :
- Pour contribuer à la sphère du libre,
- Pour augmenter ses compétences,
- Pour réfléchir autrement (une application embarquée DOIT consommer moins de ressources !),
- Pour passer le temps s’amuser,
- Argent !!!
Une fois n’est pas coutume, il est vraiment important d’éviter les fuites mémoires, les while(true) sans break;, les ressources (images, sons, vidéos…) trop lourdes… Alors gare à vous, et à vos claviers/neurones !
2. Installation
Un site à conserver dans vos favoris : http://developer.android.com
Pour l’installation, je vous conseille un IDE, Eclipse ou Netbeans feront très bien l’affaire. Sachez tout de même que, malgré votre préférence, Eclipse est l’IDE retenu par Google, et que tout le monde l’utilise pour Android (disons tous les magazines, webzines…). A vous de faire votre choix.
Ensuite, je vous envoie sur cette page.
N’oubliez pas de rajouter le répertoire Android de votre disque dans vos variables d’environnement (tout est également dit dans la page précédente) ! Cela vous permettra de lancer l’émulateur via le terminal plus simplement :
$ android
plutôt que
$ répertoire_d_installation/tools/android .
Note : si vous avez loupé une étape, notamment celle pour lier le plugin à Eclipse, faire Help > Software Updates > Find and Install…. Pour Netbeans, ça doit être équivalent.
3. Premier démarrage
Pour éviter les clivages différends entre les IDE, je vais m’abstenir de parler d’untel ou d’untel. Bref. Créez un nouveau projet pour Android. Indiquez le nom, le package, les versions de l’OS Android (pour les tests), la version minimum…
Une architecture se crée sous vos yeux ébahis. On y voit plusieurs fichiers :
- La classe « principale » de votre projet (supposons qu’elle s’appelle
Main), ou plutôt celle où tout commence,
- Le fichier layout
main.xml,
- La classe
R qu’il est interdit de toucher (vous pouvez essayer, de toute façon elle est générée à chaque compilation !) !
- Le fichier
strings.xml qui contiendra vos string (ou autres, mais il est conseillé de faire plusieurs fichiers XML, on y reviendra),
- Une icone
icon.png, icone par défaut de votre application,
- Et enfin, le manifest.
Le manifest est sans doute le fichier le plus important de votre projet. Il est défini le nom de l’application, la classe qui permet le lancement de votre application :
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
Il permet aussi de dire à votre smartphone quelles sont les permissions que vous donnez à l’application. Par défaut, votre application n’a pas le droit d’utiliser internet, ni les SMS, ni la caméra… A vous de lui autoriser !
<uses-permission android:name="android.permission.INTERNET" />
Eh oui, il faut être rigoureux ! Car ces oublis vous feront perdre un temps monstre (vous ne comprenez pas d’où vient l’erreur, vous insultez l’émulateur, vous insultez la plateforme…) car Android vous avertit de tous les problèmes par :

Supposant que vous ayez configuré un premier appareil sur l’émulateur, laissez-vous guider par la suite. Sinon,
$ android
puis créer un device avec l’API qui correspond à votre projet. Ensuite, empressez-vous de le lier à votre IDE.
3bis. Premier démarrage (le vrai)
Lancez l’application. Après que votre ordinateur a travaillé pendant environ 3min42, vous voyez l’application qui se lance. Oh, miracle ! Votre premier Hello, world! sous Android.

Ouais bon, c’est quand même pas vous qui avez fait le boulot ! Alors maintenant, c’est à vous de travailler.
— Suite au prochain épisode