Jorodan Posted April 21, 2010 Share Posted April 21, 2010 Salut les jeunes, J'ai un service pour lequel je donne comme mission d'appeler un web service, mettre à jour des données dans l'application et alerter l'activité principale et les widgets pour qu'ils se rafraichissent avec les nouvelles données. Actuellement, je récupère toutes les informations pour le service dans le onCreate et je mets en place un singleton. Dans le onStart, je lance le service en utilisant un Handler. A cet handler, je passe un Runnable qui : 1- exécute une AsyncTask qui fait l'appel au web service et la mise à jour des données dans le doInBackground et alerte les éléments dans le onPostExecute 2- se met en queue du handler dans x minutes. Le problème c'est que je n'arrive pas à tout arrêter correctement. Alors je me suis dit que le handler était en trop. Est ce que se passer du handler dans le onStart du service serait une meilleure idée. Pour faire cela, je serais parti sur une boucle infinie qui fais un sleep de X minutes à chaque passage de la boucle. Qu'en pensez vous ? Qu'est ce qui est le mieux ? Link to comment Share on other sites More sharing options...
dekans Posted April 21, 2010 Share Posted April 21, 2010 AlarmManager Pour appeler ton service toutes les X minutes sans qui occupe de ressources entre temps. Link to comment Share on other sites More sharing options...
neoakira Posted April 21, 2010 Share Posted April 21, 2010 ou Timer et TimerTask http://developer.android.com/intl/fr/reference/java/util/Timer.html http://developer.android.com/intl/fr/reference/java/util/TimerTask.html Link to comment Share on other sites More sharing options...
Jorodan Posted April 21, 2010 Author Share Posted April 21, 2010 Merci :) Link to comment Share on other sites More sharing options...
Jorodan Posted April 21, 2010 Author Share Posted April 21, 2010 Haaaa je savais bien que j'avais trouvé un problème. Le tutos là : http://android-developers.blogspot.com/2007/11/stitch-in-time.html dit qu'il ne faut utiliser ca justement... d'autres idées ? Link to comment Share on other sites More sharing options...
neoakira Posted April 21, 2010 Share Posted April 21, 2010 bah après ta pas trop le choix, si tu veux pas utiliser Timer t'as pu qu'a faire Handler.postDelayed() et de la récursivité Link to comment Share on other sites More sharing options...
Jorodan Posted April 21, 2010 Author Share Posted April 21, 2010 Donc c'est ce que je fais! Ca me va comme réponse :) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.