Honikou Posted June 15, 2011 Share Posted June 15, 2011 Bonjour, J'utilise un système de score en ligne sur mon jeu Jongle Football : https://market.android.com/details?id=com.honikou.games.jongle Cependant quand je vais chercher les scores, l'application se bloque, j'ai pas fait de thread ni asynctask. Aujourd'hui quand j'essaye de mettre en place Asynctask j'ai beaucoup de mal. class DownloadFilesTask extends AsyncTask<URL, Integer, Long> { private InputStream is = null; private String result = ""; public static final String strURLget = "monadresse.com"; protected Long doInBackground(URL... urls) { try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(strURLget); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); } catch (Exception e) { } // Convertion de la requête en string try { BufferedReader reader = new BufferedReader(new InputStreamReader( is, "iso-8859-1"), 8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result = sb.toString(); } catch (Exception e) { Log.e("log_tag", "Error converting result " + e.toString()); } return null; } protected void onProgressUpdate(Integer... progress) { } protected void onPostExecute(Long result) { } } Ce code compile, par contre je comprend pas comment je peux une fois fini (dans le OnPostExecute), comment je récupère le string result pour l'envoyer a ma class OnlineScore ( qui implement activity) pour ajouter tout ça dans mon application. sources: - android: http://developer.android.com/reference/android/os/AsyncTask.html - post 2009: Link to comment Share on other sites More sharing options...
pat Posted June 15, 2011 Share Posted June 15, 2011 deja tu change AsyncTask<URL, Integer, Long> en AsyncTask<URL, Integer, String> puis tu change protected Long doInBackground(URL... urls) en protected String doInBackground(URL... urls) puis tu change protected void onPostExecute(Long result) en protected void onPostExecute(String result) enfin dans doInBackground tu return result; Link to comment Share on other sites More sharing options...
Honikou Posted June 15, 2011 Author Share Posted June 15, 2011 deja tu change AsyncTask<URL, Integer, Long> en AsyncTask<URL, Integer, String> puis tu change protected Long doInBackground(URL... urls) en protected String doInBackground(URL... urls) puis tu change protected void onPostExecute(Long result) en protected void onPostExecute(String result) enfin dans doInBackground tu return result; merci de ta réponse, mais comment je fais une fois terminé pour utiliser la string que cela me renvoi, au moment ou c'est fini. Link to comment Share on other sites More sharing options...
Honikou Posted June 15, 2011 Author Share Posted June 15, 2011 merci de ta réponse, mais comment je fais une fois terminé pour utiliser la string que cela me renvoi, au moment ou c'est fini. problème résolu ! private class LongOperation extends AsyncTask<String, Void, String> je le met dans la class activity et j'appel une fonction quand c'est fini. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.