Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: AsyncTask, cómo puede actualizar ProgressDialog incremento

Quiero analizar una página web y visual un estilo progressdialog horizontal y el incremento de byte a byte, es posible?

One Solution collect form web for “Android: AsyncTask, cómo puede actualizar ProgressDialog incremento”

Prueba algo como esto,

Cree 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"); 

Su clase AsyncTask.

 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]); } } } 

Tienes que dar estos permisos en el archivo AndroidManifest.

 <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.