Mokona Guu Center

Android : premiers pas

Publié le

Après avoir un peu lu les pages pour développeur Android et pas mal discuté avec un collègue, j'ai décidé de découvrir un peu l'univers Android côté programmeur.

Un SDK qui se charge et s'installe sans soucis, avec des étapes bien documentées. Un émulateur de téléphone qui se configure et se lance depuis Eclipse comme un charme. Voilà qui change de mes essais de programmation sous Windows Mobile.

Le site d'Android côté développeur présente les concepts généraux d'une application sur téléphone Android et propose quelques exercices pour découvrir l'environnement. C'est plutôt bien fait et assez facile à suivre si vous connaissez déjà Java et Eclipse. Rapidement, vous avez vos premières applications qui tournent.

Après un petit tour des exemples et quelques essais seul, je décide de me lancer dans une application complète. Il n'y a que comme ça que l'on peut comprendre plus profondément. J'écris donc un mini game design : cela sera un jeu style « snake ». Rien de bien original, l'intérêt n'est pas là.

Tests !

Si vous lisez les billets Informatique de ce blog, vous avez déjà du comprendre que je suis un adepte des tests et du TDD. Il me faut donc mettre en place un projet de tests. Cela tombe bien, à la création d'un projet Android par Eclipse, l'aide à la création demande si l'on veut aussi créer un projet de test. Ce que je fais. C'est du jUnit3 et le système avec un projet complètement séparé ne me plait pas forcément. J'aurais préféré jUnit4 et un seul projet avec les tests justes séparés dans un autre package.

Mais comme je ne connais pas encore bien le framework, je vais laisser comme ça pour le moment.

J'écris mes premiers tests et... ah oui, il me faut un framework de mock aussi.

Sur le net et via mon collègue, je trouve quelques pistes sur le blog de Diego Torres Milano ainsi que sur celui de stanb.

Je choisi EasyMock. Sa syntaxe à l'air simple et ses capacités correctes. J'avoue, c'est un peu au feeling, ma connaissance des frameworks de mock en Java est assez limité.

C'est parti

De mon game design, je déduis quelques tâches simples avec un résultat visible. La première, avoir une grille de debug à l'écran (le jeu se passera sur une grille) va me permettre de mettre en place l'architecture de base. Je lutte un peu avec EasyMock car je dois apprendre son fonctionnement en même temps, mais ça se passe bien.

La capture d'écran d'une grille

Après un petit moment, me voici avec une View que je peux contrôler et qui affiche une grille à l'écran. Ça n'a l'air de rien, mais cela m'a permit d'avoir une structure de base d'un renderer d'objet. On est loin d'un moteur d'affichage complet, ce n'est pas le but de l'exercice, mais j'ai les bases pour afficher des objets à l'écran, c'est ce que je voulais.

Rien de bien excitant, mais au passage, j'ai aussi appris à me servir du debugueur (en partie, il y a des choses comme le profiler de mémoire que je n'ai fait qu'explorer).