Skip to content

RxJava2 + OkHttp 30秒上手,新一代OkHttp请求神器,史上最优雅的实现文件上传/下载/进度监听、动态/多域名、缓存;支持第三方数据解析工具、自定义请求、自动关闭请求等等

License

Notifications You must be signed in to change notification settings

zouhailin/okhttp-RxHttp

 
 

Repository files navigation

Download

RxHttp主要优势

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库

更新日志      已知问题      Java工程依赖注意事项

API兼容

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 设置代码模版,如下

image

如图设置好后,写代码时,输入rp,就会自动生成模版,如下:

image

Demo演示

更多功能,请下载Demo体验

Donations

如果它对你帮助很大,并且你很想支持库的后续开发和维护,那么你可以扫下方二维码随意打赏我,就当是请我喝杯咖啡或是啤酒,开源不易,感激不尽

image

About

RxJava2 + OkHttp 30秒上手,新一代OkHttp请求神器,史上最优雅的实现文件上传/下载/进度监听、动态/多域名、缓存;支持第三方数据解析工具、自定义请求、自动关闭请求等等

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 98.4%
  • Kotlin 1.6%