diff --git a/README.md b/README.md
index 36c66c8f..66aa0432 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
# OkGo
-### OkHttpUtils2.0升级后改名OKGo, 封装了okhttp的网络框架,支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,可以自定义返回对象,支持Https和自签名证书,支持cookie自动管理,支持四种缓存模式缓存网络数据,支持301、302重定向,扩展了统一的上传管理和下载管理功能
+### OkHttpUtils2.0升级后改名OKGo, 全新完美支持RxJava。该库是封装了okhttp的网络框架,支持大文件上传下载,上传进度回调,下载进度回调,表单上传(多文件和多参数一起上传),链式调用,可以自定义返回对象,支持Https和自签名证书,支持cookie自动管理,支持四种缓存模式缓存网络数据,支持301、302重定向,扩展了统一的上传管理和下载管理功能
该项目参考了以下项目:
@@ -40,8 +40,8 @@
* 对于Android Studio的用户,可以选择添加:
```java
compile 'com.lzy.net:okgo:2.0.0' //可以单独使用,不需要依赖下方的扩展包
- compile 'com.lzy.net:okrx:0.1.0' //RxJava扩展支持
- compile 'com.lzy.net:okserver:1.1.0' //扩展了下载管理和上传管理,根据需要添加
+ compile 'com.lzy.net:okrx:0.1.0' //RxJava扩展支持,根据需要添加
+ compile 'com.lzy.net:okserver:1.1.0' //下载管理和上传管理扩展,根据需要添加
或者
@@ -53,6 +53,7 @@
* 对于Eclipse的用户,可以选择添加 `/jar` 目录下的:
```java
okgo-2.0.0.jar
+ okrx-0.1.0.jar
okserver-1.1.0.jar
```
* 如果是以jar包的形式引入`okserver`,需要在清单文件中额外注册一个服务
@@ -86,7 +87,8 @@
* 支持根据Tag取消请求
* 支持自定义泛型Callback,自动根据泛型返回对象
-## 4.OkRx扩功能,详细使用方法点击这里:[OkRx使用文档](https://github.com/jeasonlzy/OkHttpUtils/blob/master/README_RX.md)
+## 4.OkRx扩功能
+#详细使用方法点击这里: [OkRx使用文档](https://github.com/jeasonlzy/OkGO/blob/master/README_RX.md)
* 完美结合RxJava
* 比Retrofit更简单方便
* 网络请求和RxJava调用,一条链点到底
@@ -182,8 +184,8 @@
callback一共有以下 10 个回调,除`onSuccess`必须实现以外,其余均可以按需实现,每个方法参数详细说明,请看下面第6点:
- * parseNetworkResponse():解析网络返回的数据回调
- * parseNetworkFail():解析网络失败的数据回调
+ * convertSuccess():解析网络返回的数据回调
+ * parseError():解析网络失败的数据回调
* onBefore():网络请求真正执行前回调
* onSuccess():网络请求成功的回调
* onCacheSuccess():缓存读取成功的回调
@@ -195,29 +197,29 @@ callback一共有以下 10 个回调,除`onSuccess`必须实现以外,其余均
### Callback回调具有如下顺序,虽然顺序写的很复杂,但是理解后,是很简单,并且合情合理的
#### 1).无缓存模式 CacheMode.NO_CACHE
-> 网络请求成功 onBefore -> parseNetworkResponse -> onSuccess -> onAfter
-> 网络请求失败 onBefore -> parseNetworkFail -> onError -> onAfter
+> 网络请求成功 onBefore -> convertSuccess -> onSuccess -> onAfter
+> 网络请求失败 onBefore -> parseError -> onError -> onAfter
#### 2).默认缓存模式,遵循304头 CacheMode.DEFAULT
-> 网络请求成功,服务端返回非304 onBefore -> parseNetworkResponse -> onSuccess -> onAfter
+> 网络请求成功,服务端返回非304 onBefore -> convertSuccess -> onSuccess -> onAfter
> 网络请求成功服务端返回304 onBefore -> onCacheSuccess -> onAfter
-> 网络请求失败 onBefore -> parseNetworkFail -> onError -> onAfter
+> 网络请求失败 onBefore -> parseError -> onError -> onAfter
#### 3).请求网络失败后读取缓存 CacheMode.REQUEST_FAILED_READ_CACHE
-> 网络请求成功,不读取缓存 onBefore -> parseNetworkResponse -> onSuccess -> onAfter
-> 网络请求失败,读取缓存成功 onBefore -> parseNetworkFail -> onError -> onCacheSuccess -> onAfter
-> 网络请求失败,读取缓存失败 onBefore -> parseNetworkFail -> onError -> onCacheError -> onAfter
+> 网络请求成功,不读取缓存 onBefore -> convertSuccess -> onSuccess -> onAfter
+> 网络请求失败,读取缓存成功 onBefore -> parseError -> onError -> onCacheSuccess -> onAfter
+> 网络请求失败,读取缓存失败 onBefore -> parseError -> onError -> onCacheError -> onAfter
#### 4).如果缓存不存在才请求网络,否则使用缓存 CacheMode.IF_NONE_CACHE_REQUEST
> 已经有缓存,不请求网络 onBefore -> onCacheSuccess -> onAfter
-> 没有缓存请求网络成功 onBefore -> onCacheError -> parseNetworkResponse -> onSuccess -> onAfter
-> 没有缓存请求网络失败 onBefore -> onCacheError -> parseNetworkFail -> onError -> onAfter
+> 没有缓存请求网络成功 onBefore -> onCacheError -> convertSuccess -> onSuccess -> onAfter
+> 没有缓存请求网络失败 onBefore -> onCacheError -> parseError -> onError -> onAfter
#### 5).先使用缓存,不管是否存在,仍然请求网络 CacheMode.FIRST_CACHE_THEN_REQUEST
-> 无缓存时,网络请求成功 onBefore -> onCacheError -> parseNetworkResponse -> onSuccess -> onAfter
-> 无缓存时,网络请求失败 onBefore -> onCacheError -> parseNetworkFail -> onError -> onAfter
-> 有缓存时,网络请求成功 onBefore -> onCacheSuccess -> parseNetworkResponse -> onSuccess -> onAfter
-> 有缓存时,网络请求失败 onBefore -> onCacheSuccess -> parseNetworkFail -> onError -> onAfter
+> 无缓存时,网络请求成功 onBefore -> onCacheError -> convertSuccess -> onSuccess -> onAfter
+> 无缓存时,网络请求失败 onBefore -> onCacheError -> parseError -> onError -> onAfter
+> 有缓存时,网络请求成功 onBefore -> onCacheSuccess -> convertSuccess -> onSuccess -> onAfter
+> 有缓存时,网络请求失败 onBefore -> onCacheSuccess -> parseError -> onError -> onAfter
### 1.基本的网络请求
```java
@@ -353,7 +355,7 @@ OkGo.get(Urls.URL_METHOD) // 请求方式和请求url, get请求不需要拼接
.addCookie(cookie) // 可以自己构建cookie
.addCookies(cookies) // 可以一次传递批量的cookie
//这里给出的泛型为 ServerModel,同时传递一个泛型的 class对象,即可自动将数据结果转成对象返回
- .execute(new DialogCallback(this, ServerModel.class) {
+ .execute(new DialogCallback(this) {
@Override
public void onBefore(BaseRequest request) {
// UI线程 请求网络之前调用
@@ -361,7 +363,7 @@ OkGo.get(Urls.URL_METHOD) // 请求方式和请求url, get请求不需要拼接
}
@Override
- public ServerModel parseNetworkResponse(Response response) throws Exception{
+ public ServerModel convertSuccess(Response response) throws Exception{
// 子线程,可以做耗时操作
// 根据传递进来的 response 对象,把数据解析成需要的 ServerModel 类型并返回
// 可以根据自己的需要,抛出异常,在onError中处理
@@ -369,7 +371,7 @@ OkGo.get(Urls.URL_METHOD) // 请求方式和请求url, get请求不需要拼接
}
@Override
- public void parseNetworkFail(Call call, IOException e) {
+ public void parseError(Call call, IOException e) {
// 子线程,可以做耗时操作
// 用于网络错误时在子线程中执行数据耗时操作,子类可以根据自己的需要重写此方法
}
@@ -544,6 +546,10 @@ execute方法不传入callback即为同步的请求,返回`Response`对象,
-dontwarn com.lzy.okgo.**
-keep class com.lzy.okgo.**{*;}
+ #okrx
+ -dontwarn com.lzy.okrx.**
+ -keep class com.lzy.okrx.**{*;}
+
#okserver
-dontwarn com.lzy.okserver.**
-keep class com.lzy.okserver.**{*;}
diff --git a/README_RX.md b/README_RX.md
index 2a4a7ec0..bc50912d 100644
--- a/README_RX.md
+++ b/README_RX.md
@@ -16,6 +16,12 @@
* 支持Json数据的自动解析转换
* OkGo包含的所有请求功能,OkRx全部支持
+目前使用的`RxJava`版本如下
+```java
+ compile 'io.reactivex:rxjava:1.2.0'
+ compile 'io.reactivex:rxandroid:1.2.1'
+```
+
## 一.用法
### 0.最开始的配置
`OkRx` 是 `OkGo` 的扩展,所以要想使用OkRx,那么请先按照OkGo的配置文档,做相应的初始化。
diff --git a/app/build.gradle b/app/build.gradle
index aa3089a1..c9c5ee10 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -76,9 +76,10 @@ dependencies {
compile 'com.lzy.widget:ninegridview:0.2.0'
compile 'com.lzy.widget:imagepicker:0.3.2'
compile 'com.lzy.widget:view-core:0.2.1'
- // compile 'com.lzy.net:okgo:+'
- // compile 'com.lzy.net:okserver:+'
+ // compile 'com.lzy.net:okgo:2.0.0'
+ // compile 'com.lzy.net:okrx:0.1.0'
+ // compile 'com.lzy.net:okserver:1.1.0'
compile project(':okgo')
- compile project(':okserver')
compile project(':okrx')
+ compile project(':okserver')
}
diff --git a/app/src/main/java/com/lzy/demo/MainActivity.java b/app/src/main/java/com/lzy/demo/MainActivity.java
index f2e0e6ed..e92df755 100644
--- a/app/src/main/java/com/lzy/demo/MainActivity.java
+++ b/app/src/main/java/com/lzy/demo/MainActivity.java
@@ -50,7 +50,7 @@ protected void onCreate(Bundle savedInstanceState) {
@OnClick(R.id.fab)
public void fab(View view) {
- WebActivity.runActivity(this, "我的Github,欢迎star", "https://github.com/jeasonlzy0216");
+ WebActivity.runActivity(this, "我的Github,欢迎star", "https://github.com/jeasonlzy");
}
private void initData() {
diff --git a/jar/okrx-0.1.0.jar b/jar/okrx-0.1.0.jar
new file mode 100644
index 00000000..49605d75
Binary files /dev/null and b/jar/okrx-0.1.0.jar differ
diff --git a/jar/okserver-1.1.0.jar b/jar/okserver-1.1.0.jar
new file mode 100644
index 00000000..44a93e21
Binary files /dev/null and b/jar/okserver-1.1.0.jar differ
diff --git a/okgo_v2.0.0.apk b/okgo_v2.0.0.apk
index 33404c67..d6f887e7 100644
Binary files a/okgo_v2.0.0.apk and b/okgo_v2.0.0.apk differ
diff --git a/okrx/build.gradle b/okrx/build.gradle
index 1fae0922..dae8bb5a 100644
--- a/okrx/build.gradle
+++ b/okrx/build.gradle
@@ -22,5 +22,8 @@ dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'io.reactivex:rxjava:1.2.0'
compile 'io.reactivex:rxandroid:1.2.1'
+// compile 'com.lzy.net:okgo:2.0.0'
compile project(':okgo')
}
+
+//apply from: 'bintray.gradle'
diff --git a/okserver/build.gradle b/okserver/build.gradle
index fbd2a870..4c3f5380 100644
--- a/okserver/build.gradle
+++ b/okserver/build.gradle
@@ -7,14 +7,14 @@ android {
defaultConfig {
minSdkVersion 9
targetSdkVersion 24
- versionCode 13
- versionName "1.0.3"
+ versionCode 16
+ versionName "1.1.0"
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
-// compile 'com.lzy.net:okhttputils:1.8.1'
+// compile 'com.lzy.net:okgo:2.0.0'
compile project(':okgo')
}