2015-03-21 1 views
0

Dans mon application, j'utilise la bibliothèque (étonnante) RoboSpice avec Retrofit. j'ai une activité où j'exécuter des demandes dépendantes les uns des autres à savoir par exemple Dans mon Request1Listener j'appelle mon demande2, dans mon Request2Listener j'appelle demande 3 etc ... J'ai 2 questions:Demande en cours et notification avec RoboSpice

Comment puis-je savoir que tous la demande exécutée dans mon activité est terminée? J'ai essayé de vérifier dans chaque écouteur si le nombre de demande en attente est zéro (getSpiceManager(). GetPendingRequestCount() == 0) mais cela ne fonctionne pas. Si l'utilisateur quitte l'activité pour une raison ou pour une autre, je voudrais créer une notification l'informant de la progression des données avec un pourcentage (j'ai créé l'algorithme de calcul de pourcentage), et quand toutes les demandes sont terminées (d'où Ma question 1) Je peux également avertir l'utilisateur avec une nouvelle notification.

Nous vous remercions d'avance pour votre aide et désolé pour mon anglais, je suis un développeur français

Répondre

0

Vous devriez probablement utiliser com.octo.android.robospice.request.listener.RequestProgressListener à cette fin. Cependant, le stockage de l'état intermédiaire est quelque chose que vous devriez faire avec votre propre logique - il n'y a pas de support spécifique pour cela dans RoboSpice. Par exemple, un gestionnaire singleton qui accepterait le dernier état de vos demandes et qui saurait si tous sont terminés.

+0

Nous vous remercions de votre aide. Dans Mon Activité j'ai implémenté * SpiceServiceListener * et dans mon * onRequestProcessed * je vérifie si * getSpiceManager(). GetPendingRequestCount() * & * getSpiceManager(). GetRequestToLaunchCount() * sont égaux à 0. Est-ce que cela garantit que toutes les requêtes sont terminées mon activité ? – frenchdev20

+0

Oui, cela semble être une solution possible (ne l'avez pas utilisée personnellement, alors assurez-vous de tester intensivement), bien que vous n'ayez pas nécessairement besoin d'utiliser 'RequestProgressListener'. Je pense que vous pouvez aller avec un 'RequestListener' normal dans ce cas. – nekojsi