开源项目实现多线程下载

来源:互联网 发布:vs2010怎么编译c语言 编辑:程序博客网 时间:2024/06/06 11:46

使用HttpUtils下载文件:支持断点续传

package com.zhaoda.zxy.myapplication;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.ProgressBar;import android.widget.Toast;import com.lidroid.xutils.HttpUtils;import com.lidroid.xutils.exception.HttpException;import com.lidroid.xutils.http.ResponseInfo;import com.lidroid.xutils.http.callback.RequestCallBack;import java.io.File;public class MainActivity extends Activity {    private EditText et_path;    private ProgressBar pb;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_path = (EditText) findViewById(R.id.et_path);        pb = (ProgressBar) findViewById(R.id.progressBar1);    }    //点击按钮实现断点续传下载逻辑    public void click(View v) {        //1.获取下载路径        String path = et_path.getText().toString().trim();        //2.创建httputils对象        HttpUtils http = new HttpUtils();        //3.实现下载target下载文件的路径 autoResume是否支持断点续传的逻辑        http.download(path, "/mnt/sdcard/Stronger.mp4", true, new RequestCallBack<File>() {            @Override            public void onSuccess(ResponseInfo<File> responseInfo) {                Toast.makeText(getApplicationContext(), "下载成功", Toast.LENGTH_SHORT).show();            }            @Override            public void onLoading(long total, long current, boolean isUploading) {                //total代表总进度, current当前进度                pb.setMax((int) total);                pb.setProgress((int) current);            }            //下载失败的回调            @Override            public void onFailure(HttpException e, String s) {            }        });    }}
0 0
原创粉丝点击