xutils 断点下载

十一假期结束了,大家过得快乐吗?我是过的蛮累的!今天来公司的第一件事就是学习一下断点下载,等几天项目要用到下载,先储备一下,免得到时候手忙脚乱。
从拿到原型图看到有下载的需求,我就开始查看有关下载的学习资料,原生的下载写起来很麻烦,还要自己写数据库,后来经朋友提点用xutils框架,那真是超级简单了,只需要几步就可以了,完全不用自己写数据库。
第一步,依赖jar包
第二步,主要用到 HttpUtils类,把相关代码复制到工程中就ok了,下面贴上代码:

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private TextView tv;
private Button btn;
private ProgressBar pb;
private String path = “/sdcard/xUtils/” + System.currentTimeMillis() + “ceshi.mp4”;
private String url = “http://is.snssdk.com/neihan/video/playback/?video_id=e5682f0f939e4820abba9590fc7bf0af&quality=origin&line=0&is_gif=0“;
private HttpHandler handler;
private boolean isDownloading = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tv = (TextView) findViewById(R.id.tv);
    btn = (Button) findViewById(R.id.btn);
    pb = (ProgressBar) findViewById(R.id.pb);
    pb.setMax(100);
    btn.setOnClickListener(this);

}

@Override
public void onClick(View v) {

    xUtils_Download();

}

private void xUtils_Download() {
    HttpUtils http = new HttpUtils();

    if (!isDownloading) {
        isDownloading = true;
        handler = http.download(url, path, true, false, new RequestCallBack<File>() {
            @Override
            public void onStart() {
                super.onStart();
                tv.setVisibility(View.VISIBLE);


            }

            @Override
            public void onLoading(long total, long current, boolean isUploading) {
                super.onLoading(total, current, isUploading);
                btn.setText("正在下载");
                pb.setProgress((int) ((double) current
                        / (double) total * 100));
                tv.setText((int) (current * 100 / total) + "%");
                Log.e("tag","开始下载了e");
            }

            @Override
            public void onSuccess(ResponseInfo<File> responseInfo) {
                tv.setText(responseInfo.result.getPath());
            }

            @Override
            public void onFailure(HttpException e, String s) {
                tv.setText("下载失败-->" + s);
            }
        });

    }

//正在下载时点击,则停止下载
else {
handler.cancel();
isDownloading = false;
btn.setText(“暂停下载”);
}
}
}

可以了,就是这么简单,下载完成就可以直接播放了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值