Application android pour les horaires de tram/bus grenoblois (Tag/SemiTag)

Plop à tous …

Alors voilà … hier j’avais cours de Java, et comme l’ennui c’est fait sentir, j’ai décidé de créer un « clone » de mon application pour les horaires des transports strasbourgeois en un peu plus propre (côté code), mais toujours aussi simpliste (faudrait voir pour utiliser des threads pour le système de recherche, une barre de chargement, une widget configurable, … mais en 8 heures j’ai pas eu le temps ^^).

L’application se base sur les données fournit par le site : tag.mobitrans.fr, le site utilise des tokens et chaque recherche doit se faire en tapant dans 3 pages différentes, puis une page par ligne de tram/bus, donc potentiellement pas mal de parsing et de conso de bande passante).

Pour ne pas à avoir à utiliser de regexp, j’ai utilisé la librairie htmlcleaner, qui transforme de l’html en XML bien formé, permettant des requêtes xpath pour récupérer les éléments, réduisant de façon significative le temps de développement.

Un petit code d’exemple de l’utilisation d’Html cleaner :

HtmlCleaner hc = new HtmlCleaner();
TagNode tn = hc.clean("url du site");
//recuperation du contenu d'une div ayant pour classe 'corpsL'
for (Object o : tn.evaluateXPath("//div[@class='corpsL']//div")) {
//affichage du texte pour les elements de type a			
	System.out.println(((TagNode) o).getElementsByName("a", false)[0].getText());
}

Le code source du projet pour donner quelques idées et l’apk.

2 réflexions sur “ Application android pour les horaires de tram/bus grenoblois (Tag/SemiTag) ”

  1. Super ton début de code. Je débute en dev android mais j’aimerais beaucoup faire une appli comme celle ci. Si tu compte ty remettre et que tu as besoin de quelqu’un je suis dispo.

  2. C’est sympa merci, mais l’application restera du « proof of concept » … les développeurs de l’application web l’ont quand même pas mal blindés (3 pages à parser pour choper un horaire ça le fait carrément pas) et développés pour être utilisée sur un téléphone portable … donc l’application n’aurait pas trop d’intérêt (même si un widget ajouterais un plus :s).

Les commentaires sont fermés.