Simulation du GPS avec l'emulateur android
Par dgirard le samedi 28 mars 2009, 07:35 - Lien permanent
Peut être avez vous eu des difficultés à faire fonctionner la simulation de coordonnées GPS sur votre emulateur android. Ce post parle d'un bug méconnu de l'émulateur GPS dans la version 1.1rc1 du SDK et vous propose un petit programme permettant de tester l'émulation des coordonnées GPS.
Par Arnaud Weber
Probleme d'internationalisation
Un bug majeur sur le format des nombres a été repéré: la mise à jour des coordonnées GPS se fait en utilisant les paramètres par défaut d'internationalisation du système. c'est à dire qu'en France la longitude et la latitude sont envoyées sous le format "120,0832" au lieu de "120.0832". Cela engendre un bug critique qui empêche la mise à jour des coordonnées dans votre émulateur.
Afin de faire fonctionner l'émulateur sous windows, faites bien attention à
modifier vos options régionales en les passant en anglais. Vos nombres seront
ainsi envoyés au format anglo-saxons.
Petit programme de test
Nous allons ici créer un petit programme android afin de tester que votre emulateur arrive à simuler des changements de coordonnées GPS.
Créez d'abord un projet android (appelé GPSTest dans notre exemple)
Ouvrez le fichier androidManifest.xml et ajoutez la ligne suivante :
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
Dans votre activité par défaut (ici GPSTest) :
- ajoutez la variable suivante :
private LocationManager lm;
- dans la méthode onCreate ajoutez après setContentView(R.layout.main) :
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000l, 10l, new LocationListener(){
public void onLocationChanged(Location arg0) {
String lat = String.valueOf(arg0.getLatitude());
String lon = String.valueOf(arg0.getLongitude());
Log.e("GPS", "location changed: lat="+lat+", lon="+lon);
}
public void onProviderDisabled(String arg0) {
Log.e("GPS", "provider disabled " + arg0);
}
public void onProviderEnabled(String arg0) {
Log.e("GPS", "provider enabled " + arg0);
}
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
Log.e("GPS", "status changed to " + arg0 + "-" + arg1 + "-");
}
});
Explications : Dans un premier temps, on récupère un location manager auprès du context.
On inscrit ensuite auprès de ce manager un callback appelé au maximum une fois par seconde lorsque la position GPS du téléphone varie de 10 mètres ou plus.
Executez le programme sur votre émulateur puis ouvrez les vues "emulateur control" et "LogCat" dans eclipse ( windows -> show views -> other -> android).
Vous pouvez éventuellement utiliser directement le programme DDMS fourni dans le SDK
Changez la localisation dans votre emulateur control et observez les logs. vous devriez voir apparaître le log indiquant que la position a bien été changée.
Conclusion
Ce petit programme devrait vous permettre de tester la connexion de votre environnement de travail avec l'émulateur en utilisant le Mock du GPS. J'espère vous avoir épargné de nombreuses heures de recherche frustrantes et infructueuses a propos du bug de l'internationalisation.
Commentaires
Même problème sur mon Mac, je suis passé en US, et ça marche ! merci pour l'astuce ;)
Super tuto !! ;)
Excepté que mon appli ne rentre jamais dans "onLocationChanged"...
Le status passe bien de "perte de signal temporaire" à "signal ok", mais jamais, malgré mes modifications je ne parviens à déclencher "onLocationChanged"...
Je pense que ça vient du problème évoqué en début de tuto sur l'internationalisation, mais j'ai essayé les choses suivantes :
- modifier dans la barre des tâches de windows la langue en Anglais
- ajouter : Locale.setDefault(new Locale("en", "US"));
dans mon code
- forcer les points à la place des virgules dans les coordonnées
rien n'y fait, je désespère :(
si t'as une idée, je suis preneur !!!
Merci
Bonjour,
Il faut pas modifier la langue mais la locale de Windows, c'est à dire le pays où tu te trouve.
Pour cela, il faut aller dans "Panneau de Configuration" > "Options Régionales et Linguistiques" Et changer le format à "Anglais (Etats Unis)" ou "Anglais (Royaume-Uni)".
Il faut ensuite que tu redémarre ton eclipse pour que la modification soit pris en compte.
Je suis sur mac et en mettant anglais US ça ne marche pas. Quelqu'un pourrait-il m'aider svp ?
@brotelle
on peut rien faire pour toi, achètes toi un cerveau !
dbwowcef http://realmedshipping.com/products... acheter estrace 0200 http://realmedshipping.com/products... benicar kaufen xsrKk http://realmedshipping.com/products... comprar cytoxan :-O http://realmedshipping.com/products... zovirax kaufen 8683 http://realmedshipping.com/products... comprare diovan 4907
ajtcibza http://realmedshipping.com/products... acheter cozaar xrljo http://realmedshipping.com/products... acheter tetracycline >:-OOO http://realmedshipping.com/products... comprare viagra professional >:-[ http://realmedshipping.com/products... acheter zetia >:-OOO http://realmedshipping.com/products... comprare viagra jelly 5597 http://realmedshipping.com/products... acheter trimox :-O http://realmedshipping.com/products... acheter dramamine 0130 http://realmedshipping.com/products... comprare rocaltrol 8980 http://realmedshipping.com/products... acheter grifulvin v 8580 http://realmedshipping.com/products... acheter noroxin sQTwa
haaxpg http://roaringforkvehicles.com/ order Cialis 9429
hvvcwmbd http://bestrxdrugstore.com/products... cheap estrace pCGzJ http://bestrxdrugstore.com/products... diclofenac %-[[[ http://bestrxdrugstore.com/products... astelin aEwJZ http://bestrxdrugstore.com/products... capoten online :-O http://bestrxdrugstore.com/products... cheap evecare =-] http://bestrxdrugstore.com/products... vasotec ceWTn http://bestrxdrugstore.com/products... desyrel 8159 http://bestrxdrugstore.com/products... cheap zyprexa EJXxO http://bestrxdrugstore.com/products... risperdal %-[[[ http://bestrxdrugstore.com/products... hair loss cream >:-[
http://www.moncler2012vestes.com/mo... MONCLER veste femmes
http://www.moncler2012vestes.com/mo... MONCLER veste hommes
http://www.moncler2012vestes.com MONCLER veste
http://www.moncler2012vestes.com moncler hommes
http://www.moncler2012vestes.com MONCLER
If you wish to be the best man, you must suffer the bitterest of the bitter.
smgnuads http://propeciahl.com/ propecia YUdZso http://accutanesc.com/ accutane 8805
xvvebg http://gaccutane.com/ order accutane fREkhT http://kamagra-ios.com/ kamagra 6972 http://clomid-ios.com/ clomid >:-[ http://gpropecia.com/ propecia 1629
eipara http://bestmedplace.com/products/tr... trental %-[[[ http://cheappills24h.com/products/z... zanaflex 9456
mojhsh http://cheappills24h.com/products/e... buy epivir %-[[[ http://bestmedplace.com/products/al... altace online 4824
nvibmn http://accutane24h.com/ accutane %-[[[ http://genericviagra24h7w.com/ generic viagra 2546
fsaqxuyk http://domkamagra.com/ cheap kamagra =-] http://bluepillsstore.net/ order viagra vNfdM http://domclomid.com/ buy clomid sLWCHR http://onlineedstore.net/ cialis MKydgI
Go for someone who makes you smile because it takes only a smile to make a dark day seem bright.
lcdbzt http://cialisonlinechp.com/ cialis 9571 http://bumcialis.com/ cialis 2561 http://cialispadla.com/ online cialis >:-[ http://viagraonlinechp.com/ sildenafil prices :-O http://viagrapadla.com/ viagra 5707 http://bumviagra.com/ order sildenafil online >:]]
ujtkrd http://vzikviagra.com/ viagra 5804 http://scheapcialis.com/ buying cialis online XEaBMe http://buccialis.com/ genericcialis OUWph http://vzikcialis.com/ cialis rLtsyb http://bucviagra.com/ viagra online XINgQ http://scheapviagra.com/ order sildenafil online 9901
pollpet http://onlinerxbank.com/products/zy... zyrtec 4510 http://onlinerxbank.com/products/cl... clozaril DqCHs http://onlinerxbank.com/products/ed... ed discount pack ZSsnYs http://onlinerxbank.com/products/pr... procalisx >:]] http://onlinerxbank.com/products/co... coreg :-O http://onlinerxbank.com/products/ci... citalopram 1073
aifpqhi http://www.cmst.com.cn/forum/viewth... droxia: droxia: duovirn: digitek :-O http://buayai.xp3.biz/thai-utf8_smf... sustenance and med 6114 http://kira.dj/member.php?6934-Onhw... online pharmacy 8497 http://forum.resurse.com/viewtopic.... abilify worked pretty :-O http://forums.codetwink.com/member.... online pharmacy IJwxdo http://www.omavps.com/forum/index.p... online pharmacy RkVtwx http://www.getpaidreview.com/member... online pharmacy jNkYo http://probux.co/forum/index.php?to... for babies cheap amoxil usa cialis fJtotE http://curiburn.dip.jp/bbs/viewtopi... brand names atacand >:]] http://forum.egnoka.de/viewtopic.ph... generics eulexin =-]
wmuavmtr http://onlinerxbank.com/products/di... dilantin IJpjg http://onlinerxbank.com/products/am... ampicillin gNDYS http://onlinerxbank.com/products/le... levlen mHDNgr http://onlinerxbank.com/products/ba... baclofen =-] http://onlinerxbank.com/products/de... deltasone vLHiua http://onlinerxbank.com/products/lu... luvox jYlAZv
eodgtqud
hdyensqy http://paydayloanscheckrates.co.uk/ payday loans UK >:-[ http://paydayloanscheckrates.com/ Payday loans 7071 http://payday24loans.com/ payday loan %-[[[
utozwrp http://viagraaga.com/ viagra Gvsex http://buycialistab.com/ cialis >:-[ http://buyviagratab.net/ buy viagra >:]] http://cialisaga.com/ where to buy tadalafil 4621 http://cheapcialistab.com/ cialis >:-[ http://cheapviagratab.com/ viagra =-]
rwzcchz http://instantcashadvance4u.com/ cash advance 0864 http://instantcashadvance4u.co.uk/ cash advance CkYEF http://paydayloans24us.com/ payday loans 3032
uufrxn http://bcheap-cialis.com/ generic cialis >:]] http://her-propecia.com/ propecia 8]]] http://bcheap-viagra.com/ generic viagra iJhfUB http://accutane-skin.com/ accutane 2831
izzvms http://billiga-apotek.eu/ cialis sverige :-O http://farmacia-barato.eu/ viagra fsJBm http://billige-tabletten.eu/ viagra ohne rezept 2201 http://pharmacyjp.net/ ジェネリック・バイアグラ 0675 http://edrxtabs.com/ viagra QSyXRn http://goedkope-apotheek.eu/ cialis AfxRsy