Aller au contenu

MapView et jonglage entre les API Key


naholyr

Recommended Posts

Salut,

Je veux intégrer une carte de France dans mon application, pour ça j'utilise évidemment un MapView, avec succès.

Par contre j'ai plusieurs environnements de développement, et à chaque fois il me faut une API key différente ! Du coup je me retrouve à devoir jongler entre 3 clés en fonction du contexte :

* quand je bosse sur mon appli avec l'émulateur et l'ordi du bureau (la clé de débug de ce poste).

* quand je bosse à la maison sur l'émulateur (encore une autre clé de débug).

* quand je publie l'appli signée pour tester l'apk sur mon device (la clé du certificat final).

* et je n'ai pas encore testé en débug sur le device (mais j'imagine que c'est la même clé de débug que pour l'émulateur).

Pour simplifier un peu ça j'ai déclaré mes clés dans le strings.xml et je fais référence à la bonne string dans mon tag MapView :

Mais il faut à chaque fois que je pense à changer la valeur dans le layout, et que je pense à ne pas commiter ce fichier, et surtout que je me décide lequel devra être commité..... N'y a-t'il pas une manière plus propre de le faire ? Stocker des constantes qui ont une valeur en fonction du contexte d'exécution ?

Comment vous faites, vous ?

Lien vers le commentaire
Partager sur d’autres sites

La seule manière de passer l'API key de manière automatique est via le constructeur MapView(android.content.Context context, java.lang.String apiKey). Au lieu d'utiliser un layout XML, génère le directement dans ta MapActivity et ton problème sera résolu (si bien sûr tu arrives à déterminer ton contexte d'exécution).

Lien vers le commentaire
Partager sur d’autres sites

Moi aussi je me pose cette question :

y a t-il moyen d'avoir plusieurs environnements/paramètres dans Eclipse ?

d'une part, pour les clés google map

mais aussi parce que mon application peut se connecter à des serveurs différents, en fonction de si elle est en production ou en dev

bien sûr, il ne faut pas que l'apk "en production" contienne des données de "dev" (addresses ip de serveur, clés etc ...)

il y a peut être moyen d'y arriver en utilisant les "library project", mais ça me parait un peu lourd...

de ce qu'on m'a dit du dev sur iPhone, il est facile de paramétrer plusieurs environnement dans un même projet

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...