0

Nouvelles versions de « Toilettes à …. »

Au mois de novembre 2012, nous avions déjà entamé un gros chantier de modernisation de l’application Toilettes à Paris. Mais comme vous le savez, avec Android, les choses évoluent très vite. Nous avons donc procédé à une nouvelle phase de mises à jour. Etant donné l’ampleur du travail, nous avons estampillé cette version 2.0 ! Et comme une bonne nouvelle n’arrive jamais seule, la version Toilettes à Toulouse a subi les mêmes évolutions.

Utilisation de Google Maps API v2

Tout d’abord, nous avons abandonné la première version de Google Maps API que l’on avait améliorée à l’aide de la librairie Polaris. Google Maps API v2 a comblé beaucoup de manques et l’utilisation de Polaris n’est donc plus obligatoire. Google Maps API v2 est distribuée aux utilisateurs à travers les Google Play Services. La version minimale d’Android est donc maintenant fixée à Android 2.2 au lieu de 2.1 à cause des Google Play Services.

Localisation plus rapide et moins consommatrice en batterie

Lors de la Google IO 2013, Google a annoncé une nouvelle API plus rapide, plus fiable et moins consommatrice en batterie pour faire de la géolocalisation. Nous avons donc opté pour cette nouvelle API. Le point négatif de celle-ci est qu’elle est distribuée à travers les Google Play Services. Donc, la version minimum d’Android supportée est la 2.2 et tous les terminaux ne possédant pas Google Play ne peuvent plus utiliser l’application.

Remplacement de ActionBarSherlock par AppCompat

Vous connaissez très certainement ActionBarSherlock, il s’agit de la librairie de rétrocompatibilité la plus utilisée afin d’afficher une ActionBar dans les versions d’Android inférieure à Honeycomb. Bien entendu, elle était présente dans Toilettes à Paris. Mais voilà que Google a enfin sorti sa propre librairie de rétrocompatibilité nommée AppCompat. Cette librairie fonctionne exactement comme ActionBarSherlock, nous n’avons pas du tout été perdu pour faire le portage. Vous pouvez alors vous demander à quoi bon faire le portage si rien ne change entre ActionBarSherlock et AppCompat ? Et bien, à vrai dire, pas à grand chose. Nous avons fait ce portage uniquement dans une optique de test technique. D’ailleurs, Google conseille de ne pas faire de portage et d’utiliser AppCompat uniquement dans le cadre d’une nouvelle application.

Remplacement de la SearchDialog par une SearchView

Depuis la première version d’Android, il existe la SearchDialog que nous utilisions jusqu’à présent. Il s’agit d’une Activity qui passe par dessus l’activity courante pour lancer une recherche. Depuis la création de l’ActionBar, cette SearchDialog est devenue dépréciée au profit de la SearchView. La SearchView est une vue extensible qui s’intègre à l’ActionBar. Grâce à AppCompat, nous avons donc pu intégrer la SearchView sans difficulté sur toutes les versions d’Android, y compris pré-honeycomb. De plus, le portage de la SearchDialog à la SearchView est véritablement simple puisque les deux systèmes utilisent la configuration par xml. Nous n’avons donc eu aucunement besoin de redévelopper le module de recherche.

Mise à jour de la base de données des toilettes

Une des critiques récurrentes que nous avons sur le Play Store est le manque de fiabilité de la base de données de Toilettes à Paris. Pourtant, cette base de données provenait de OpenDataParis. Heureusement, la ville de Paris a créé une nouvelle API avec des données à jour : Paris is {API}. On vous laisse d’ailleurs lire notre article concernant cette bizarrerie d’avoir 2 OpenData… Nous avons donc développé une petit script java qui exploite cette API, et 8 secondes plus tard, nous avons un CSV tout beau tout propre. En ce qui concerne Toilettes à Toulouse, nous avons également mis à jour la base de données grâce à ToulouseMétropole.data qui semble être fiable.

Industrialisation

Comme indiqué au début de cet article, nous avons mis à jour en même temps, Toilettes à Paris et Toilettes à Toulouse. Ceci a été possible en modifiant la structure de nos projets. Nous avons maintenant un shared library project commun entre les 2 projets qui contient tout le code java. Les 2 projets ne contiennent alors que les ressources et les assets qui divergent. Nous pouvons donc mettre à jour en même temps les applications à chaque fois et si nous souhaitons créer une application pour une autre ville, c’est un jeu d’enfant !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *