Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 15
Utilisation des threads 165
Les runnables
Si vous préférez ne pas vous ennuyer avec les objets Message, vous pouvez également
passer des objets Runnable au Handler, qui les exécutera dans le thread de l’interface
utilisateur. Handler fournit un ensemble de méthodes post...() pour faire passer les
objets Runnable afin qu’ils soient traités.
Exécution sur place
Les méthodes post() et postDelayed() de Handler, qui permettent d’ajouter des objets
Runnable dans la file d’attente des événements, peuvent également être utilisées avec les
vues. Ceci permet de simplifier légèrement le code car vous pouvez alors vous passer d’un
objet Handler. Toutefois, vous perdrez également un peu de souplesse. En outre, la classe
Handler existe depuis longtemps dans Android et a probablement été mieux testée que
cette technique.
Où est passé le thread de mon interface utilisateur ?
Parfois, vous pouvez ne pas savoir si vous êtes en train d’exécuter le thread de l’interface
utilisateur de votre application. Si vous fournissez une partie de votre code sous la forme
d’une archive JAR, par exemple, vous pouvez ne pas savoir si ce code est exécuté dans le
thread de l’interface ou dans un thread en arrière-plan.
Pour résoudre ce problème, la classe Activity fournit la méthode runOnUiThread(). Elle
fonctionne comme les méthodes post() de Handler et View car elle met dans une file un
Figure 15.1
L’application
HandlerDemo.
Livre Android.book Page 165 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 180/391

Suivant