Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.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:如何使用HttpUrlConnection暂停和恢复下载?_Android_Httpurlconnection_Android Download Manager_Download Manager - Fatal编程技术网

Android:如何使用HttpUrlConnection暂停和恢复下载?

Android:如何使用HttpUrlConnection暂停和恢复下载?,android,httpurlconnection,android-download-manager,download-manager,Android,Httpurlconnection,Android Download Manager,Download Manager,我想为android做一个下载管理器,我想知道如何添加 暂停和恢复功能我正在使用android的HttpUrlConnection类 用于获取数据。我还想知道如何访问从HttpUrlConnection.getInputStream获取的InputStream,该文件因Internet连接而中断。请用户关闭Internet连接。 任何示例代码都将非常有用下载程序示例 信用证:否则请尝试此库 HttpURLConnection connection = (HttpURLConnection) ur

我想为android做一个下载管理器,我想知道如何添加 暂停和恢复功能我正在使用android的HttpUrlConnection类 用于获取数据。我还想知道如何访问从HttpUrlConnection.getInputStream获取的InputStream,该文件因Internet连接而中断。请用户关闭Internet连接。 任何示例代码都将非常有用

下载程序示例

信用证:

否则请尝试此库
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
if(ISSUE_DOWNLOAD_STATUS.intValue()==ECMConstant.ECM_DOWNLOADING){
    File file=new File(DESTINATION_PATH);
    if(file.exists()){
         downloaded = (int) file.length();
         connection.setRequestProperty("Range", "bytes="+(file.length())+"-");
    }
}else{
    connection.setRequestProperty("Range", "bytes=" + downloaded + "-");
}
connection.setDoInput(true);
connection.setDoOutput(true);
progressBar.setMax(connection.getContentLength());
 in = new BufferedInputStream(connection.getInputStream());
 fos=(downloaded==0)? new FileOutputStream(DESTINATION_PATH): new FileOutputStream(DESTINATION_PATH,true);
 bout = new BufferedOutputStream(fos, 1024);
byte[] data = new byte[1024];
int x = 0;
while ((x = in.read(data, 0, 1024)) >= 0) {
    bout.write(data, 0, x);
     downloaded += x;
     progressBar.setProgress(downloaded);
}