1. 30秒即可上手,学习成本极低
2. 史上最优雅的处理网络缓存
3. 史上最优雅的处理多个BaseUrl及动态BaseUrl
4. 史上最优雅的对错误统一处理,且不打破Lambda表达式
5. 史上最优雅的实现文件上传/下载及进度的监听,且支持断点下载
6. 支持Gson、Xml、ProtoBuf、FastJson等第三方数据解析工具
7. 支持Get、Post、Put、Delete等任意请求方式,可自定义请求方式
8. 支持在Activity/Fragment/View/ViewModel/任意类中,自动关闭请求
9. 支持统一加解密,且可对单个请求设置是否加解密
10. 支持添加公共参数/头部,且可对单个请求设置是否添加公共参数/头部
Gradle依赖
dependencies {
implementation 'com.rxjava.rxhttp:rxhttp:1.4.2' //必须
annotationProcessor 'com.rxjava.rxhttp:rxhttp-compiler:1.4.2' //注解处理器,生成RxHttp类,必须
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' //切换主线程,Android工程必须
implementation 'com.rxjava.rxlife:rxlife:1.1.0' //页面销毁,关闭请求,非必须
//Converter 根据自己需求选择 非必须 RxHttp默认内置了GsonConverter
implementation 'com.rxjava.rxhttp:converter-jackson:1.4.2'
implementation 'com.rxjava.rxhttp:converter-fastjson:1.4.2'
implementation 'com.rxjava.rxhttp:converter-protobuf:1.4.2'
implementation 'com.rxjava.rxhttp:converter-simplexml:1.4.2'
}
注:kotlin用户,请使用kapt替代annotationProcessor
RxHttp&RxLife 交流群:378530627
RxHttp 要求项目使用Java 8,请在 app 的 build.gradle 添加以下代码
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
此时rebuild一下项目,就能看到RxHttp类了,到这,准备工作完毕,即可直接调用RxHttp发送请求了。
30秒上手教程:https://juejin.im/post/5cfcbbcbe51d455a694f94df
掘金详细文档:https://juejin.im/post/5ded221a518825125d14a1d4
wiki详细文档:https://github.com/liujingxing/okhttp-RxHttp/wiki (此文档会持续更新)
自动关闭请求用到的RxLife类,详情请查看RxLife库
RxHttp最低要求为API 15,但是由于内部依赖OkHttp 3.14.1版本, 最低要求为API 21。 如果你要的项目要兼容到API 15,请将RxHttp内部的OkHttp剔除,并引入低版本的OkHttp,如下:
implementation('com.rxjava.rxhttp:rxhttp:x.x.x') { //xxx为RxHttp最新版本
exclude group: "com.squareup.okhttp3"
}
implementation 'com.squareup.okhttp3:okhttp:3.12.6' //此版本最低要求 API 9
RxHttp作为开源库,可混淆,也可不混淆,如果不希望被混淆,请在proguard-rules.pro文件添加以下代码
-keep class rxhttp.**{*;}
在这教大家一个小技巧,由于使用RxHttp发送请求都遵循请求三部曲,故我们可以在android studio 设置代码模版,如下
如图设置好后,写代码时,输入rp,就会自动生成模版,如下:
更多功能,请下载Demo体验
如果它对你帮助很大,并且你很想支持库的后续开发和维护,那么你可以扫下方二维码随意打赏我,就当是请我喝杯咖啡或是啤酒,开源不易,感激不尽