Bien évidemment, Android permet l’utilisation de thread multiples (à vrai dire, il est même réellement multi-tâches).
Attention : il faut garder en tête qu’un thread n’a pas accès à l’écran (ou presque : la barre d’alertes lui est ouverte). Donc, quand on lance une action pouvant prendre du temps (par exemple un long calcul, ou une récupération d’informations via Internet), une bonne solution consiste à :
- Lancer un thread qui va effectuer la tâche "longue"
- Afficher une animation qui montre à l’utilisateur que l’application n’est pas "plantée"
- Afficher les résultats
Un exemple :
final ProgressDialog dialog = ProgressDialog.show(this, "Title", "Message", true);
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
dialog.dismiss();
}
};
Thread checkUpdate = new Thread() {
public void run() {
//
// LA TACHE LONGUE VIENT ICI
//
handler.sendEmptyMessage(0);
}
};
checkUpdate.start();
|