Je travaille sur l'application où je reçois les données du serveur à l'aide de l'appel de repos et l'ajoutez à la vue. Je reçois correctement toutes les données initiales. J'utilise l'asyncque pour le faire. P>
Maintenant, je souhaite périodiquement (disons 2 minutes) chercher les nouvelles données du serveur et l'ajoutez à la vue. Vérification de données (sondage) du serveur dans Android. P>
3 Réponses :
La meilleure façon de le faire serait de créer un service qui récupère les données du serveur. Ensuite, si votre activité est en cours d'exécution, le service peut envoyer une intention à l'activité avec les données récupérées. P>
ou, avez-vous le service exécuté lorsque votre application s'exécute et que votre activité soit liée au service lors de son démarrage. Ensuite, utilisez AIDL ou quelque chose de similaire pour communiquer avec le service.
(Par exemple, chaque fois que le service a récupéré des données, il peut tirer une fonction de rappel dans votre activité) P>
Vous pouvez commander la classe AlarmManager pour le faire.
public class MyAlarmManager extends BroadcastReceiver { Context _context; @Override public void onReceive(Context context, Intent intent) { _context= context; //connect to server.. } }
Salut umesh, essayé votre solution. J'utilise AlarmManager comme classe intérieure qui, à son tour, appelle ASYNC qui met à jour mon interface graphique. Mais je reçois cette erreur: "Impossible d'instancer le récepteur". J'ai ajouté ceci à AndroidManifest.xml File:
Comme vous pouvez le constater, ALARMManager est une classe publique qui étend un BroadCastreciever et doit être écrit dans un fichier différent. (Dans le cas ci-dessus, le nom du fichier serait myalarmManager.java) dans le fichier manifeste:
Suivez le didacticiel mentionné ici A >. C'est exactement ce que vous voulez faire. De plus, des appels de serveur sont fabriqués toutes les quelques minutes, cela consomme une batterie. Vous pouvez donc essayer des appels de serveur uniquement lorsque les données du serveur changent via des notifications push .. p>
Découvrez développeur.android.com/reference/java/util/tigertask.html < / a>