J'ai une méthode run()
et dans ce que j'exécute une asynctask qui fait HTTPGET. Comment puis-je faire run()
attendre l'asynctask pour obtenir des résultats et continuer?Méthode de suspension qui exécute asynctask HTTPGET
0
A
Répondre
0
//like this
asyncRequest(URL, parameters, "POST",new RequestListener() {
@Override
public void onComplete(String response) {
/*@todo get results and then continue */
}
@Override
public void onIOException(IOException ex) {
}
@Override
public void onFileNotFoundException(FileNotFoundException ex) {
}
@Override
public void onMalformedURLException(MalformedURLException ex) {
}
});
public static void asyncRequest(final String requestUrl,final Bundle parameters,final String httpMethod,final RequestListener requestListener) {
new Thread() {
public void run() {
try {
String resp = MyUtil.openUrl(requestUrl, httpMethod, parameters);
requestListener.onComplete(resp);
} catch (FileNotFoundException ex) {
requestListener.onFileNotFoundException(ex);
} catch (MalformedURLException ex) {
requestListener.onMalformedURLException(ex);
} catch (IOException ex) {
requestListener.onIOException(ex);
}
}
}.start();
}
public static interface RequestListener {
public void onComplete(String response);
public void onIOException(IOException ex);
public void onFileNotFoundException(FileNotFoundException ex);
public void onMalformedURLException(MalformedURLException ex);
}
-1
exécuter la fonction d'exécution dans la méthode onPostExecute du AsyncTask
private class LongOperation extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... params) {
//do long asynctask activity here
}
@Override
protected void onPostExecute(String result) {
run(); //executes the run method you want here after asysnctask is completed
}
@Override
protected void onPreExecute() {
}
@Override
protected void onProgressUpdate(Void... values) {
}
}
+0
c'est ce que je pensais, mais la méthode d'exécution est en cours d'exécution à partir d'un broadcastReceiver qui passe Context, et les chaînes – synjunked
Questions connexes
- 1. C# Méthode qui exécute une méthode donnée
- 2. AsyncTask Méthode d'exécution montrant l'erreur
- 3. Problème de suspension de demande de suspension
- 4. Méthode native d'appel AsyncTask
- 5. Comment puis-je implémenter un Timer/TimerTask qui exécute un AsyncTask? (Android)
- 6. Méthode exécute-le 3 fois
- 7. URISyntaxException HttpGet
- 8. Android méthode execute de l'intérieur AsyncTask
- 9. vérifier l'invocation de méthode dans AsyncTask
- 10. animé fonction de retard méthode exécute
- 11. Android AsyncTask méthode que je ne sais pas comment résoudre
- 12. qui puis-je appeler à une méthode d'action HttpGet avec jquery comme un lien
- 13. javascript httpget
- 14. AsyncTask méthode doInBackground - erreur de paramètre
- 15. Annulation d'une méthode de démarrage arrête AsyncTask
- 16. Céleri tâche qui exécute plus de tâches
- 17. Pourquoi choisir la méthode HttpGet/HttpPost sur kSoap?
- 18. Mode de suspension Android
- 19. Asynctask from Asynctask
- 20. Pour une méthode HttpGet qu'est-ce que getParams()?
- 21. qui exécute/exécute un script Unix shell (ksh) qui est sauvegardé sur mon bureau Windows XP
- 22. HttpGet - Paramètres de délimitation entre guillemets
- 23. Qui exécute le rappel lors de l'utilisation de la méthode apply_async d'un pool multitraitement?
- 24. Android httppost avec httpget
- 25. Parallel.Invoke exécute la première méthode ne
- 26. HttpGet/client et HTTPS
- 27. Gestion exception interrompue de AsyncTask dans Android?
- 28. Android Quitter AsyncTask
- 29. Programme d'installation Mac qui exécute un script
- 30. SqlHelper.ExecuteReader Fonction qui exécute une procédure stockée
Vous devez fournir plus d'informations dans votre question. Est-ce que la méthode 'run()' s'exécute dans un thread séparé? –