【文件下载&网络请求库-OkRetrofit】
一、概述
Retrofit+RxJava是当前最流行的Android网络交互解决方案。OkRetrofit是一个基于Retrofit2+RxJava2封装的文件下载和网络请求库,
其中文件下载部分参考了RxDownload,去掉了RxPermission相关的代码,网络请求部分做了适当的抽象和封装,方便使用的同时也不影响相关部分的定制。
1.1 文件下载
- 智能判断服务器是否支持断点续传并适配相应下载方式;
- 智能判断同一地址对应的文件在服务端是否有改变并重新下载;
- 支持多线程下载,可设置下载线程数;
- 支持下载状态、下载进度监听;
- 支持在Service中下载文件,内置DownloadService;
1.2 网络请求
- 内置
BaseRetrofit
,提供了抽象方法initOkHttp
供上层实现,可在此方法中配置日志、缓存、超时等; - 内置服务器统一返回
HttpResponse
和请求异常HttpException
; - 内置统一线程处理和统一返回结果转换方法;
二、使用
2.1 Gradle
OkRetrofit已上传到jcenter,在gradle中直接引用即可。
|
|
2.2 文件下载
|
|
2.3 网络请求
2.3.1 新建声明网络请求方法的接口
|
|
2.3.2 继承BaseRetrofit,实现initOkHttp方法,在此方法中可配置超时、日志、缓存等。
|
|
2.3.3 使用
|
|
详细用法参见Demo,地址:https://github.com/Tailyou/OkRetrofit