RxHttp-一条链发送请求之强大的数据解析功能(二),kotlin构造器

本文介绍了RxHttp库在Android开发中的应用,特别是其数据解析功能,包括DownloadParser实现文件下载(支持断点下载和进度回调),DataParser和DataListParser自定义解析器简化数据处理。此外,还分享了学习资源和获取完整资料的方法。
摘要由CSDN通过智能技术生成

}, throwable -> {
//失败回调
});

可以看到,直接使用fromListParser操作符,传入Student.class即可,它内部就是通过ListParser.get(Student.class)获取的ListParser对象。

接下来我们看看RxHttp提供的最后一个解析器DownloadParser

DownloadParser

DownloadParser的作用是将Http返回的输入流写到文件中,即文件下载

这个好理解,就不仔细讲解了,有一点要的说的,此解析器是支持断点下载,我们来看看如何实现断点下载,并且带进度回调

//断点下载,带进度
public void breakpointDownloadAndProgress() {
String destPath = getExternalCacheDir() + “/” + “Miaobo.apk”;
long length = new File(destPath).length();
RxHttp.get(“http://update.9158.com/miaolive/Miaolive.apk”)
.setRangeHeader(length) //设置开始下载位置,结束位置默认为文件末尾
.downloadProgress(destPath,length) //如果需要衔接上次的下载进度,则需要传入上次已下载的字节数
.observeOn(AndroidSchedulers.mainThread()) //主线程回调
.doOnNext(progress -> {
//下载进度回调,0-100,仅在进度有更新时才会回调
int currentProgress = progress.getProgress(); //当前进度 0-100
long currentSize = progress.getCurrentSize(); //当前已下载的字节大小
long totalSize = progress.getTotalSize(); //要下载的总字节大小
})
.filter(Progress::isCompleted)//过滤事件,下载完成,才继续往下走
.map(Progress::getResult) //到这,说明下载完成,拿到Http返回结果并继续往下走
.as(RxLife.asOnMa

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值