描述

Android 史上最优雅的实现文件上传、下载及进度的监听

RxHttp主要优势

1. 30秒即可上手,学习成本极低

2. 完美支持kotlin 协程

3. 史上最优雅的处理多个BaseUrl及动态BaseUrl

4. 史上最优雅的对错误统一处理,且不打破Lambda表达式

5. 史上最优雅的实现文件上传/下载及进度的监听,且支持断点下载

6. 支持Gson、Xml、ProtoBuf、FastJson等第三方数据解析工具

7. 支持Get、Post、Put、Delete等任意请求方式,可自定义请求方式

8. 支持在Activity/Fragment/View/ViewModel/任意类中,自动关闭请求

9. 支持全局加解密、添加公共参数及头部、网络缓存,也支持对单个请求单独设置

Gradle依赖

dependencies {

   implementation 'com.rxjava.rxhttp:rxhttp:2.1.0' //必须
   annotationProcessor 'com.rxjava.rxhttp:rxhttp-compiler:2.1.0' //注解处理器,生成RxHttp类,必须
   implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'  //切换主线程,Android工程必须

   implementation 'com.rxjava.rxlife:rxlife-x:2.0.0'  //页面销毁,关闭请求,非必须

   //Converter 根据自己需求选择  非必须  RxHttp默认内置了GsonConverter
   implementation 'com.rxjava.rxhttp:converter-jackson:2.1.0'
   implementation 'com.rxjava.rxhttp:converter-fastjson:2.1.0'
   implementation 'com.rxjava.rxhttp:converter-protobuf:2.1.0'
   implementation 'com.rxjava.rxhttp:converter-simplexml:2.1.0'
}

注:kotlin用户,请使用kapt替代annotationProcessor

RxHttp&RxLife 交流群:378530627

准备工作

RxHttp 要求项目使用Java 8,请在 app 的 build.gradle 添加以下代码

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

//kotlin
kotlinOptions {
    jvmTarget = '1.8'
}

此时rebuild一下项目,就能看到RxHttp类了,到这,准备工作完毕,即可直接调用RxHttp发送请求了。

上手教程

30秒上手教程:https://juejin.im/post/5cfcbbcbe51d455a694f94df

掘金详细文档:https://juejin.im/post/5ded221a518825125d14a1d4

wiki详细文档:https://github.com/liujingxing/okhttp-RxHttp/wiki (此文档会持续更新)

协程文档:https://juejin.im/post/5e77604fe51d4527066eb81a

自动关闭请求用到的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体验


下载

RxHttp-master.zip
源码下载

开源

项目地址:  https://github.com/liujingxing/RxHttp

项目分类:  Android

提 交 者 :  李金山

授权协议 : Apache-2.0