Je veux analyser une page Web et visualiser un style progressdialog horizontal et l'incrémenter octet à octet, il est possibile?Android: AsyncTask, comment mettre à jour ProgressDialog incrément
6
A
Répondre
20
Essayez quelque chose comme ça,
Créer un ProgressDialog.
ProgressDialog mProgressDialog = new ProgressDialog(Your_Activity.this);
mProgressDialog.setMessage("Here you can set a message");
mProgressDialog.setIndeterminate(false);
mProgressDialog.setMax(100);
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
mProgressDialog.show();
MyAsyncTask obj = new MyAsyncTask();
obj.execute("url");
Votre AsyncTask classe.
private class MyAsyncTask extends AsyncTask<String, Integer, String>{
@Override
protected String doInBackground(String... url) {
int count;
try {
URL url = new URL(url[0]);
URLConnection connection = url.openConnection();
connection.connect();
// this will be useful so that you can show a tipical 0-100% progress bar
int length = connection.getContentLength();
// downlod the file
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream("/sdcard/file_name.txt");
byte data[] = new byte[1024];
long total = 0;
while ((count = input.read(data)) != -1) {
total += count;
// publishing the progress....
publishProgress((int)(total*100/length));
output.write(data, 0, count);
}
output.flush();
output.close();
input.close();
} catch (Exception e) {}
return null;
}
@Override
public void onProgressUpdate(String... args){
mProgressDialog.setProgress(args[0]);
}
}
}
Vous devez donner dans le fichier AndroidManifest de ces autorisations.
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+0
Dans certaines URL, vous obtiendrez toujours -1, puis utilisez ce code HttpURLConnection connection = (HttpURLConnection) url.openConnection(); \t \t connection.setRequestMethod ("HEAD"); \t \t connection.connect(); \t \t int longueur = connection.getContentLength(); –
Questions connexes
- 1. ProgressDialog dans AsyncTask ne pas mettre à jour ou ignorer
- 2. Android Asynctask et progressDialog
- 3. Comment mettre à jour un fragment ProgressDialog
- 4. ProgressDialog dans AsyncTask non mis à jour
- 5. ProgressDialog communiquer avec AsyncTask dans android
- 6. Comment mettre en œuvre l'animation rotate ProgressDialog avec AsyncTask
- 7. Android - Lent ProgressDialog avec webservice AsyncTask
- 8. Android ProgressDialog n'apparaîtra pas dans mon AsyncTask
- 9. Mise à jour Progressdialog
- 10. asyncTask et progressDialog: Freeze
- 11. AsyncTask, HttpClient et ProgressDialog
- 12. AsyncTask OnPreExecute ProgressDialog
- 13. Implémentation de ProgressDialog AsyncTask
- 14. Android utilisant AsyncTask pour mettre à jour l'interface utilisateur
- 15. ProgressDialog n'apparaît pas dans AsyncTask
- 16. Android: AsyncTask ProgressDialog ne s'ouvre pas dans ActivityGroup
- 17. ProgressDialog ne s'arrête pas avec AsyncTask
- 18. AsyncTask ne fonctionne pas avec ProgressDialog dans Android
- 19. crash progressdialog dans la classe AsyncTask
- 20. Utiliser ProgressDialog dans une classe AsyncTask
- 21. progressDialog dans AsyncTask arrête de tourner
- 22. ProgressDialog ne veut pas mettre à jour le message
- 23. AsyncTask ne représente pas le ProgressDialog
- 24. Comment passer le paramètre à Android AsyncTask
- 25. Modifier le message d'un ProgressDialog dans AsyncTask
- 26. Android: Problèmes avec ProgressDialog
- 27. Android ProgressDialog ne montre pas
- 28. Essayer de contourner NetworkOnMainThreadException sur AsyncTask à cause de ProgressDialog
- 29. Android- Comment terminer plusieurs AsyncTask
- 30. Android: n'affiche pas ProgressDialog
Oui, il est possible http://goo.gl/eeiu5 – Matthieu
Il y a un exemple s'il vous plaît? – MimmoG
Référez-vous à cet exemple lien: https://sites.google.com/site/androidhowto/how-to-1/create-a-custom-progress-bar-using-asynctask – Uttam