Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
324 L’art du développement Android
Se déplacer
Tous les fournisseurs de localisation ne répondent pas immédiatement. GPS, par exemple,
nécessite l’activation d’un signal et la réception des satellites (c’est ce que l’on appelle un
"fix GPS") avant de pouvoir connaître sa position. C’est la raison pour laquelle Android ne
fournit pas de méthode getMeMyCurrentLocationNow(). Ceci combiné avec le fait que
les utilisateurs puissent vouloir que leurs mouvements soient pris en compte dans l’application, vous comprendrez pourquoi il est préférable d’enregistrer les modifications de la
position et les utiliser pour connaître la position courante.
Les applications Weather et WeatherPlus montrent comment enregistrer ces mises à jour
– en appelant la méthode requestLocationUpdates() de l’objet LocationManager.
Cette méthode prend quatre paramètres :
1. Le nom du fournisseur de localisation que vous souhaitez utiliser.
2. Le temps, en millisecondes, qui doit s’écouler avant que l’on puisse obtenir une mise à
jour de la position.
3. Le déplacement minimal du terminal en mètres pour que l’on puisse obtenir une mise
à jour de la position.
4. Un LocationListener qui sera prévenu des événements liés à la localisation, comme
le montre le code suivant :
LocationListener onLocationChange=new LocationListener() {
public void onLocationChanged(Location location) {
updateForecast(location);
}
public void onProviderDisabled(String provider) {
// Exigée par l’interface, mais inutilisée
}
public void onProviderEnabled(String provider) {
// Exigée par l’interface, mais inutilisée
}
public void onStatusChanged(String provider, int status,
Bundle extras) {
// Exigée par l’interface, mais inutilisée
}
};
Ici, nous appelons simplement updateForecast() en lui passant l’objet Location fourni
à l’appel de la méthode de rappel onLocationChanged(). Comme on l’a vu au Chapitre 30, l’implémentation d’updateForecast() construit une page web contenant les
prévisions météorologiques pour l’emplacement courant et envoie un message de diffusion
afin que l’activité sache qu’une mise à jour est disponible.
Livre Android.book Page 324 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
324 L’art du développement Android
Se déplacer
Tous les fournisseurs de localisation ne répondent pas immédiatement. GPS, par exemple,
nécessite l’activation d’un signal et la réception des satellites (c’est ce que l’on appelle un
"fix GPS") avant de pouvoir connaître sa position. C’est la raison pour laquelle Android ne
fournit pas de méthode getMeMyCurrentLocationNow(). Ceci combiné avec le fait que
les utilisateurs puissent vouloir que leurs mouvements soient pris en compte dans l’application, vous comprendrez pourquoi il est préférable d’enregistrer les modifications de la
position et les utiliser pour connaître la position courante.
Les applications Weather et WeatherPlus montrent comment enregistrer ces mises à jour
– en appelant la méthode requestLocationUpdates() de l’objet LocationManager.
Cette méthode prend quatre paramètres :
1. Le nom du fournisseur de localisation que vous souhaitez utiliser.
2. Le temps, en millisecondes, qui doit s’écouler avant que l’on puisse obtenir une mise à
jour de la position.
3. Le déplacement minimal du terminal en mètres pour que l’on puisse obtenir une mise
à jour de la position.
4. Un LocationListener qui sera prévenu des événements liés à la localisation, comme
le montre le code suivant :
LocationListener onLocationChange=new LocationListener() {
public void onLocationChanged(Location location) {
updateForecast(location);
}
public void onProviderDisabled(String provider) {
// Exigée par l’interface, mais inutilisée
}
public void onProviderEnabled(String provider) {
// Exigée par l’interface, mais inutilisée
}
public void onStatusChanged(String provider, int status,
Bundle extras) {
// Exigée par l’interface, mais inutilisée
}
};
Ici, nous appelons simplement updateForecast() en lui passant l’objet Location fourni
à l’appel de la méthode de rappel onLocationChanged(). Comme on l’a vu au Chapitre 30, l’implémentation d’updateForecast() construit une page web contenant les
prévisions météorologiques pour l’emplacement courant et envoie un message de diffusion
afin que l’activité sache qu’une mise à jour est disponible.
Livre Android.book Page 324 Dimanche, 8. novembre 2009 12:23 12
