MarioKartRandomizer – Ma première application Android

J’ai conscience que ça fait un peu beaucoup double emploi avec mes tweets et mon site sur la chose mais voilà, je me devais de le poster pour la postérité ^^.

Petite entrée en matière : je suis un développeur passionné (trop même peut être)  et j’aime bien les défis.

Le problème était le suivant : Quand ma copine et moi jouions à MariKart sur la Wii, on devait soit choisir nos courses nous même, soit demander au jeu de choisir les courses aléatoirement. Celui ci avait déjà un grain d’intelligence pour ne pas mettre deux fois la même course dans la même série (par défaut 4 courses/série) mais si on faisait 2 séries d’affilée, il n’était pas assez intelligent que pour ne pas nous remettre la même course que la série précédente.

Défi posé : Faire une application qui garde en mémoire les courses faites avant pour NE PAS ressortir celles là au prochain tirage de la série. Permettre un tirage au sort, un affichage simple, un nouveau tirage au sort.

Ce qui suit pendant 2-3 paragraphes est pour les développeurs, lisez à vos risques et périls

Première version de l’application : En java, des énums et des singletons contenant les courses et tirage au sort dedans. Interface graphique sommaire (une simple liste en fait) sans aucun bouton, et pour seule possibilité de rafraichir : fermer réouvrir l’application (un tit jar autoexecutable).Ne gère pas l’historique et a franchement besoin d’une GUI plus attrayante

Deuxième version : toujours en java, Remplacement des enums par une db SQLite accédée via driver JDBC (fourni par ailleurs). Mise en place de la gestion de l’historique. Seulement une version CLI (console) verra le jour.
Le driver ou la base de donnée SQLite avait un comportement imprévisible (parfois l’hisotrique se vidait parfois non, bref inutilisable)

J’ai donc pensé que la faute étant au driver ou a la db SQLite il faudrait la remplacer, mais je ne voulais pas obliger le futur utilisateur à installer un serveur de base de données.
Mise au frigo du projet donc…

Troisième version : ayant acquis récemment un HTC Desire sous android j’ai évidemment eu envie de programmer sur ce device. Coup de bol, celui ci implémente la base de donnée SQLite (mais sans utiliser le driver JDBC défecteux).
Je me suis donc mis au travail et j’ai converti tout le code en un code compatible avec Android (quasi tout excepté TOUTES les requêtes SQL, prepared statements, statements, connection, etc.).
Après m’être initié à la progra sous Android, j’ai lancé la première version de l’appli.

MarioKartRandomizer

MarioKart

Si vous désirez plus d’informations concernant ce dernier petit bébé je vous invite à aller sur mon serveur à scripts section Android (j’ai conscience qu’il est moche et sommaire, mais le but est de fournir des informations, pas vraiment de plaire à l’œil) ou alors à télécharger l’application sur le Market.

QR-Code

QR-Code

Et lien vers le market.

PS : Je sais que je dis que il y a un serveur SQLite et un driver JDBC pour SQLite mais attention ils sont en fait une seule et même chose : SQLite a pour particularité d’écrire une base de donnée dans un ‘petit’ fichier qu’on peut prendre assez facilement avec dans le pack de l’application contrairement au ‘gros’ serveur SQL classique et donc il n’y a pas cette interrogation client-serveur des SGDB classiques, mais je garde les termes pour garder l’analogie.

PPS : Le lien vers une liste de toutes mes applications installées actuellement sur mon Android via une application franchement pas moche développée par je ne sais plus qui, mais merci à lui : http://mesapp.li/?id=MTky

Posted in Android by El Gnap at May 15th, 2010.
Tags: , ,

Leave a Reply

*