Je développe une application pour les personnes aveugles. Je dois travailler tout le temps avec le module TextToSpeech, le GPS et la connexion réseau.Meilleure façon de lancer différentes tâches
Je dois faire une requête comme celle-ci: Consulter le GPS, faire un appel JSON et appeler le module TextToSpeech (TTS).
Je me demande quel est le meilleur moyen de gérer les différentes tâches qui communiquent avec le thread principal de l'interface utilisateur. J'ai vu jusqu'ici: Objets de gestionnaire et classe AsyncTask.
Je dois lancer chaque tâche séquentiellement, donc je veux appeler le TTS après avoir récupéré des données du réseau. J'ai donc utilisé "mHandler.post (Runnable)" et à l'intérieur de ce runnable appelant un autre et ainsi de suite.
Cependant, j'ai vu que l'utilisation de la classe AsynTask est recommandée. Mais dans ce cas, je pense que je dois implémenter une classe différente pour chaque tâche, alors que je ne sais pas si ces tâches s'exécuteront séquentiellement. Quelque chose comme:
AsyntaskClass1 at1;
AsyntaskClass2 at2;
AsyntaskClass3 at3;
at1.execute();
at2.execute();
at3.execute();
Est-ce que ces tâches s'exécuteront dans l'ordre? Parce que le module de synthèse vocale doivent attendre la tâche réseau pour terminer ...
Merci pour votre aide,
BR.David.