使用okgo实现文件下载(断点下载)

最近项目遇到大文件的下载,而且需要做的和优酷移动端缓存视频的那种效果差不多,考虑到项目周期自己写的话可能会浪费一点时间,所以git上找了找发现okgo这个东西挺不错的。话不多说先给大家看一下效果图。


https://github.com/jeasonlzy/okhttp-OkGo这个是大牛写的demo的地址,有兴趣的可以看看。

现在简要说一说okgo的用法,okgo里有好几种jar包,我们需要的只是okgo.jar和okservice.jar。

 final DownloadManager manger= DownloadService.getDownloadManager();----获取下载管理器,我们所要进行的任务,以及一些下载的配置都要通过这个管理器来进行操作。

manger.setTargetFolder(Environment.getExternalStorageDirectory().getAbsolutePath());---设置文件下载保存的路径,(别忘了加读写权限)

manger.getThreadPool().setCorePoolSize(9);---设置线程数,也就是设置最多同时下载的个数。

manger.removeAllTask();---移除所有下载任务(这个方法比较重要,因为在你下载完成之后,如果不调用此方法,okgo里的数据库是不会把之前的下载记录清空掉的)

 manager.addTask(String url,GetRequest request,DownloadListener listener);----添加一个下载任务,注意里面的就几个参数(1参是下载的链接而且也是一格标识,二参是下载的配置一会给大家看看二参如何写,三参是回调接口),

添加下载任务中二参的配置,添加下载的时候只需把request 对象传进去就行

 GetRequest request = OkGo.get(url))//
                .headers("headerKey1", "headerValue1")//
                .headers("headerKey2", "headerValue2")//
                .params("paramKey1", "paramValue1")//
                .params("paramKey2", "paramValue2");

到此下载最基本的操作

Manager.pauseAllTask();---暂停所有下载

Manager.stopAllTask();----停止所有下载
Manager.startAllTask();---开始所有下载

大概需要的方法就这么多,具体的demo看刚才给出的链接


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值