Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
170 L’art du développement Android
La méthode doInBackground()
@Override
protected Void doInBackground(Void... inutilise) {
for (String item : items) {
publishProgress(item);
SystemClock.sleep(200);
}
return(null);
}
La méthode doInBackground() étant appelée dans un thread en arrière-plan, elle peut
durer aussi longtemps qu’on le souhaite. Dans une vraie application, nous pourrions, par
exemple, parcourir une liste d’URL et toutes les télécharger. Ici, nous parcourons notre
liste statique de mots latins en appelant publishProgress() pour chacun d’eux, puis nous
nous mettons en sommeil pendant le cinquième de seconde pour simuler un traitement.
Comme nous avons choisi de n’utiliser aucune information de configuration, nous n’avons
normalement pas besoin de paramètre pour doInBackground(). Cependant, le contrat
d’implémentation d’AsyncTask précise qu’il faut prendre un tableau variable d’éléments
du premier type générique : c’est la raison pour laquelle le paramètre de cette méthode est
Void... inutilise.
En outre, ayant choisi de ne rien renvoyer alors que le contrat stipule que nous devons
renvoyer un objet du troisième type générique, le résultat de cette méthode est de type
Void et nous renvoyons null.
La méthode onProgressUpdate()
@Override
protected void onProgressUpdate(String... item) {
((ArrayAdapter)getListAdapter()).add(item[0]);
}
La méthode onProgressUpdate() est appelée dans le thread de l’interface et nous voulons
qu’elle signale à l’utilisateur que l’on est en train de charger les chaînes. Ici, nous ajoutons
simplement la chaîne à l’ArrayAdapter, afin qu’elle soit ajoutée à la fin de la liste.
Cette méthode attend un tableau variable d’éléments du deuxième type générique
(String... ici). Comme nous ne lui passons qu’une seule chaîne par appel à publishProgress(), on ne doit examiner que le premier élément du tableau item.
La méthode onPostExecute()
@Override
protected void onPostExecute(Void inutilise) {
Toast
Livre Android.book Page 170 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 185/391

Suivant