如何在进度对话框中显示下载速度



在我的应用程序中,我正在下载一个图像文件。我想在下载进度条上显示下载速度。

如何通过AsyncTask概念实现?

查看代码片段

 public static class MyDownloadTask extends AsyncTask<Void, Integer, Void> {
    @Override
    protected void onProgressUpdate(Integer... values) {
        super.onProgressUpdate(values);
        // receive the published update here
        // progressBar.setProgress(values[0]);
    }
    @Override
    protected Void doInBackground(Void... params) {
        // publish your download progress here
        // publishProgress(10);
        return null;
    }
}

通过此示例,您可以在进度对话框中设置下载速度

public class AsyncDownload extends AsyncTask<Void, Double, String> {
    ProgressDialog progressDialog;
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        progressDialog = new ProgressDialog(MainActivity.this);
        progressDialog.setMessage("Speed: " + 0.0);
        progressDialog.show();
    }
    @Override
    protected String doInBackground(Void... voids) {
        // AsyncDownload
        Double speed = 0.0;
        // Calculate speed
        publishProgress(speed);
        return null;
    }
    @Override
    protected void onProgressUpdate(Double... values) {
        super.onProgressUpdate(values);
        progressDialog.setMessage("Speed " + values[0]);
    }
    @Override
    protected void onPostExecute(String s) {
        super.onPostExecute(s);
    }
}

要计算下载速度,您可以使用此示例测量下载速度Java

相关内容

  • 没有找到相关文章

最新更新