Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
310 L’art du développement Android
Transmission manuelle
Pour démarrer un service, il suffit d’appeler startService() en lui passant l’intention qui
indique le service à lancer (là encore, le plus simple consiste à préciser la classe du service
s’il s’agit de votre propre service).
Inversement, on l’arrête par un appel à la méthode stopService(), à laquelle on passe
l’intention fournie à l’appel startService() correspondant.
Lorsque le service est lancé, on doit communiquer avec lui. Cette communication peut être
exclusivement réalisée via les "extras" que l’on a fournis dans l’intention ou, s’il s’agit
d’un service local qui offre un singleton, vous pouvez utiliser ce dernier.
Dans le cas de WeatherPlus et de WeatherPlusService, le client utilise le singleton du
service à chaque fois qu’il veut obtenir de nouvelles prévisions :
private void updateForecast() {
try {
String page=WeatherPlusService
.singleton
.getForecastPage();
browser.loadDataWithBaseURL(null, page, "text/html",
"UTF-8", null);
}
catch (final Throwable t) {
goBlooey(t);
}
}
Figure 31.1
Le client du service
WeatherPlus.
Livre Android.book Page 310 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
310 L’art du développement Android
Transmission manuelle
Pour démarrer un service, il suffit d’appeler startService() en lui passant l’intention qui
indique le service à lancer (là encore, le plus simple consiste à préciser la classe du service
s’il s’agit de votre propre service).
Inversement, on l’arrête par un appel à la méthode stopService(), à laquelle on passe
l’intention fournie à l’appel startService() correspondant.
Lorsque le service est lancé, on doit communiquer avec lui. Cette communication peut être
exclusivement réalisée via les "extras" que l’on a fournis dans l’intention ou, s’il s’agit
d’un service local qui offre un singleton, vous pouvez utiliser ce dernier.
Dans le cas de WeatherPlus et de WeatherPlusService, le client utilise le singleton du
service à chaque fois qu’il veut obtenir de nouvelles prévisions :
private void updateForecast() {
try {
String page=WeatherPlusService
.singleton
.getForecastPage();
browser.loadDataWithBaseURL(null, page, "text/html",
"UTF-8", null);
}
catch (final Throwable t) {
goBlooey(t);
}
}
Figure 31.1
Le client du service
WeatherPlus.
Livre Android.book Page 310 Dimanche, 8. novembre 2009 12:23 12
