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();