Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
下载文件时如何在android中添加进度计数百分比_Android - Fatal编程技术网

下载文件时如何在android中添加进度计数百分比

下载文件时如何在android中添加进度计数百分比,android,Android,在这里,我发布了我的AssyncTask方法调用下载文件 @覆盖 受保护的布尔doInBackground(字符串…字符串){ String tMainFolder=String.valueOf(BaseApplication.getInstance().getAppContext().getDir(“文件下载”,Context.MODE_PRIVATE)); tMainFolder+=“/File”+mBookDetails.getBookId();//书籍下载 Log.i(标签“Assyn

在这里,我发布了我的AssyncTask方法调用下载文件

@覆盖
受保护的布尔doInBackground(字符串…字符串){
String tMainFolder=String.valueOf(BaseApplication.getInstance().getAppContext().getDir(“文件下载”,Context.MODE_PRIVATE));
tMainFolder+=“/File”+mBookDetails.getBookId();//书籍下载
Log.i(标签“Assynctask Ma”+tMainFolder);
Log.i(标记“图书id和图书名称”+mBookDetails.getBookId()+mBookDetails.getBookName());
下载bookDetails(tMainFolder,contentfulstants.BOOK_MAIN_IMAGE+“.png”,mBookDetails.getBookMainImage());
下载书籍详细信息(tMainFolder,contentfulcontents.BOOK_MAIN_AUDIO+“.mp3”,mBookDetails.getBookSound());
对于(PageDetailProperties pageDetails:mBookDetails.getPageDetail()){
字符串tPageNumber=pageDetails.getPageNumber().toString();
downloadBookDetails(tMainFolder,contentfulstants.PAGE_IMAGE+tPageNumber+“.png”,pageDetails.getPageImage());
下载书籍详细信息(tMainFolder,contentfulcontents.PAGE_AUDIO+tpagunmber+“.mp3”,pageDetails.getPageAudio());
downloadBookDetails(tMainFolder,contentfulstants.PAGE_TEXT+tPageNumber+“.txt”,pageDetails.getPageText());
}
返回true;

}
在调用AsyncTask之前,请编写以下命令:

progressDialog = new ProgressDialog(activity);
        progressDialog.setMessage(activity.getResources().getString(R.string.file_downloading));
        progressDialog.setIndeterminate(true);
        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        progressDialog.setProgressNumberFormat(null);
        progressDialog.setCancelable(false);  
在你的任务中

@Override
    protected void onPreExecute() {
        super.onPreExecute();
        progressDialog.show();
    }

    @Override
    protected void onProgressUpdate(Integer... progress) {
        progressDialog.setIndeterminate(false);
        progressDialog.setProgress(progress[0]);

    }

    @Override
    protected void onPostExecute(String result) {
        progressDialog.dismiss();
       }

在调用AsyncTask之前,请编写以下命令:

progressDialog = new ProgressDialog(activity);
        progressDialog.setMessage(activity.getResources().getString(R.string.file_downloading));
        progressDialog.setIndeterminate(true);
        progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        progressDialog.setProgressNumberFormat(null);
        progressDialog.setCancelable(false);  
在你的任务中

@Override
    protected void onPreExecute() {
        super.onPreExecute();
        progressDialog.show();
    }

    @Override
    protected void onProgressUpdate(Integer... progress) {
        progressDialog.setIndeterminate(false);
        progressDialog.setProgress(progress[0]);

    }

    @Override
    protected void onPostExecute(String result) {
        progressDialog.dismiss();
       }
这是为我工作

最终下载管理器dm;
dm=(DownloadManager)getSystemService(下载服务);
final DownloadManager.Request=new DownloadManager.Request(Uri.parse(listModel.videourl));
request.SetDestinationNexternalPublicDir(“下载/视频”,listModel.name)。setNotificationVisibility(DownloadManager.request.VISIBILITY\u VISIBILITY\u NOTIFY\u COMPLETED)。setVisibleInDownloadsUi(true);
最终长下载ID=dm.enqueue(请求);
线程t=新线程(新的可运行线程(){
@凌驾
公开募捐{
布尔值=真;
同时(下载){
DownloadManager.Query q=新的DownloadManager.Query();
q、 setFilterById(下载ID);
游标=dm.query(q);
cursor.moveToFirst();
int bytes\u downloaded=cursor.getInt(cursor
.getColumnIndex(DownloadManager.COLUMN_BYTES_download_to_FAR));
int bytes_total=cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_total_SIZE_bytes));
if(cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS))==DownloadManager.STATUS_SUCCESSFUL){
下载=假;
}
最终整数dl_进度=(整数)((双)字节下载/(双)字节总数*100f);
//dl_进度是您的百分比值
最终布尔值finalDownloading=下载;
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
如果(!finalDownloading)
{
Toast.makeText(PlayActivity.this,“下载完成”,Toast.LENGTH_LONG.show();
}
}
});
cursor.close();
}
}
});
t、 start()这是为我工作的

最终下载管理器dm;
dm=(DownloadManager)getSystemService(下载服务);
final DownloadManager.Request=new DownloadManager.Request(Uri.parse(listModel.videourl));
request.SetDestinationNexternalPublicDir(“下载/视频”,listModel.name)。setNotificationVisibility(DownloadManager.request.VISIBILITY\u VISIBILITY\u NOTIFY\u COMPLETED)。setVisibleInDownloadsUi(true);
最终长下载ID=dm.enqueue(请求);
线程t=新线程(新的可运行线程(){
@凌驾
公开募捐{
布尔值=真;
同时(下载){
DownloadManager.Query q=新的DownloadManager.Query();
q、 setFilterById(下载ID);
游标=dm.query(q);
cursor.moveToFirst();
int bytes\u downloaded=cursor.getInt(cursor
.getColumnIndex(DownloadManager.COLUMN_BYTES_download_to_FAR));
int bytes_total=cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_total_SIZE_bytes));
if(cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS))==DownloadManager.STATUS_SUCCESSFUL){
下载=假;
}
最终整数dl_进度=(整数)((双)字节下载/(双)字节总数*100f);
//dl_进度是您的百分比值