我想分析一個網頁,並視覺progressdialog風格水平,並增加它的字節爲字節,它可能嗎?Android:AsyncTask,如何更新ProgressDialog增量
6
A
回答
20
嘗試這樣的事情,
創建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");
你的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]);
}
}
}
你必須給這些權限的在AndroidManifest文件。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+0
在一些URL中你總是會得到-1,然後使用這個代碼HttpURLConnection connection =(HttpURLConnection)url.openConnection(); \t \t connection.setRequestMethod(「HEAD」); \t \t connection.connect(); \t \t int length = connection.getContentLength(); –
相關問題
- 1. Android:AsyncTask ProgressDialog不會在ActivityGroup中打開
- 2. Android:AsyncTask UI更新問題
- 3. ProgressDialog沒有更新
- 4. 如何對PDF執行增量更新
- 5. AsyncTask中的ProgressDialog未更新
- 6. 使用AsyncTask更新ProgressDialog
- 7. 在sqoop中增量更新
- 8. 增量模型更新pyMC3
- 9. sphinxsearch增量指數更新
- 10. 如何防止sqlite主鍵在更新時自動增量?
- 11. 如何更新DataTable中的所有自動增量列?
- 12. 如何在Sencha Touch應用程序中禁用增量更新?
- 13. 如何用n增量來更新foobar#{n}的順序屬性?
- 14. 如何處理增量更新在Hadoop的HDFS地圖,減少
- 15. 如何用增量值更新一組記錄
- 16. 如何生成「adb install-multiple」使用的部分/增量更新?
- 17. 如何使用tsql更新列的增量值?
- 18. 如何查看sqoop作業中的增量更新值?
- 19. 從另一個線程更新UI(progressDialog)
- 20. ProgressDialog不會在ActionBarSherlock中更新
- 21. 增量更新插入...重複密鑰
- 22. 異議js用增量更新+1
- 23. 在lucene中增量更新的問題
- 24. 從MySQL表中提取增量更新
- 25. J2ME MIDlet的增量JAR更新
- 26. 用symfony增量更新/推進
- 27. iPhone SDK是否有增量更新?
- 28. 從選擇增量mysql更新
- 29. Scrapy案例:增量更新項目
- 30. 更新時的MySQL自動增量
是的,這是可能的http://goo.gl/eeiu5 – Matthieu
有個例嗎? – MimmoG
請參閱此示例鏈接: https://sites.google.com/site/androidhowto/how-to-1/create-a-custom-progress-bar-using-asynctask – Uttam