Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
30
Création d’un service
Comme on l’a déjà mentionné, les services Android sont destinés aux processus de longue
haleine, qui peuvent devoir continuer de s’exécuter même lorsqu’ils sont séparés de toute
activité. À titre d’exemple, citons la musique, qui continue d’être jouée même lorsque
l’activité de "lecture" a été supprimée, la récupération des mises à jour des flux RSS sur
Internet et la persistance d’une session de chat, même lorsque le client a perdu le focus à
cause de la réception d’un appel téléphonique.
Un service est créé lorsqu’il est lancé manuellement (via un appel à l’API) ou quand une
activité tente de s’y connecter via une communication interprocessus (IPC). Il perdure
jusqu’à ce qu’il ne soit plus nécessaire et que le système ait besoin de récupérer de la
mémoire. Cette longue exécution ayant un coût, les services doivent prendre garde à ne
pas consommer trop de CPU sous peine d’user trop rapidement la batterie du terminal.
Dans ce chapitre, vous apprendrez à créer vos propres services ; le chapitre suivant sera
consacré à l’utilisation de ces services à partir de vos activités ou d’autres contextes. Tous
les deux utiliseront comme exemple le projet Service/WeatherPlus, dont l’implémentation sera essentiellement présentée dans ce chapitre. Ce projet étend Internet/Weather
en l’empaquetant dans un service qui surveille les modifications de l’emplacement du
terminal, afin que les prévisions soient mises à jour lorsque celui-ci "se déplace".
Livre Android.book Page 303 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
30
Création d’un service
Comme on l’a déjà mentionné, les services Android sont destinés aux processus de longue
haleine, qui peuvent devoir continuer de s’exécuter même lorsqu’ils sont séparés de toute
activité. À titre d’exemple, citons la musique, qui continue d’être jouée même lorsque
l’activité de "lecture" a été supprimée, la récupération des mises à jour des flux RSS sur
Internet et la persistance d’une session de chat, même lorsque le client a perdu le focus à
cause de la réception d’un appel téléphonique.
Un service est créé lorsqu’il est lancé manuellement (via un appel à l’API) ou quand une
activité tente de s’y connecter via une communication interprocessus (IPC). Il perdure
jusqu’à ce qu’il ne soit plus nécessaire et que le système ait besoin de récupérer de la
mémoire. Cette longue exécution ayant un coût, les services doivent prendre garde à ne
pas consommer trop de CPU sous peine d’user trop rapidement la batterie du terminal.
Dans ce chapitre, vous apprendrez à créer vos propres services ; le chapitre suivant sera
consacré à l’utilisation de ces services à partir de vos activités ou d’autres contextes. Tous
les deux utiliseront comme exemple le projet Service/WeatherPlus, dont l’implémentation sera essentiellement présentée dans ce chapitre. Ce projet étend Internet/Weather
en l’empaquetant dans un service qui surveille les modifications de l’emplacement du
terminal, afin que les prévisions soient mises à jour lorsque celui-ci "se déplace".
Livre Android.book Page 303 Dimanche, 8. novembre 2009 12:23 12
