封装了okhttp的网络框架,简化Android网络请求

网友投稿 1625 2022-10-29

封装了okhttp的网络框架,简化Android网络请求

封装了okhttp的网络框架,简化Android网络请求

OkGo - 3.0 震撼来袭, 一个基于okhttp的标准RESTful风格的网络框架

工程结构全新优化 支持RxJava 支持RxJava2 支持自定义缓存策略 支持-管理 支持上传管理

该库部分思想借鉴了以下项目:

https://github.com/yanzhenjie/NoHttphttps://github.com/square/retrofit

在此特别感谢上述作者,喜欢原作的可以去使用原项目。同时欢迎大家-体验本项目,如果使用过程中遇到什么问题,欢迎反馈。

友情链接

本项目中使用的图片选择是我的另一个开源项目

完全仿微信的图片选择库,自带矩形图片裁剪和圆形图片裁剪功能,有需要的可以去-使用。 附上地址:https://github.com/jeasonlzy/ImagePicker

本项目中的九宫格控件也是我的开源项目

联系方式

演示

未来版本

[v3.1.x]版本

计划分离params参数的具体作用,分为paramsPath,paramsQuery和params,支持url路径动态替换计划支持请求优先级,方便有些重要请求优先进行计划支持自定义线程池,使用自己的线程池管理网络请求

[v3.2.x]版本

计划增加扩展库OkAnno,作用是让okgo支持注解方式请求,具体写法与Retrofit相似,但是更简单方便,也更强大,方便Retrofit用户平滑过渡到OkGo

其他功能暂时还没想出来,大家有想法的可以积极加群讨论,或者直接在issue里面提出你的想法,我会第一时间回复。

使用

Android Studio用户

一般来说,只需要添加第一个okgo的核心包即可,其余的三个库根据自己的需要选择添加!!!

//必须使用compile 'com.lzy-:okgo:3.0.4'//以下三个选择添加,okrx和okrx2不能同时使用compile 'com.lzy-:okrx:1.0.2'compile 'com.lzy-:okrx2:2.0.2' compile 'com.lzy-:okserver:2.0.5'

Eclipse的用户(赶紧换AS吧),可以选择添加本项目根目录中 /jar 目录下的jar包:

一般来说,至少需要okhttp、okio、okgo三个jar包,其余的三个扩展jar包根据自己的需要选择添加!!!

必须使用

okhttp-3.8.1.jar okio-1.13.0.jar okgo-3.0.4.jar

以下三个选择添加,okrx和okrx2不能同时使用

okrx-1.0.2.jar okrx2-2.0.2.jar okserver-2.0.5.jar

文档

该项目的文档全部以Wiki的形式展示,wiki文档永远与最新版本的库保持同步,如果你发现文档的说明与你的写法不一样,那么请升级到最新版本,重要的事情说三遍

点我,点我,我是3.x文档,Wiki文档首页请猛戳这里点我,点我,我是3.x文档,Wiki文档首页请猛戳这里点我,点我,我是3.x文档,Wiki文档首页请猛戳这里

如果遇到使用问题,解决办法如下:

本项目Demo使用的是我自己的服务器,有时候可能不稳定,网速比较慢时请耐心等待,尴尬呀。。

如果你使用遇到了问题,首先请看控制台log,如果log无法看出问题,无法确定是该库的bug还是服务端的问题,建议抓包查看网络数据,详细的抓包方法猛戳这里

如果你觉得好,对你有过帮助,请给我一点打赏鼓励吧,一分也是爱呀!

混淆

okgo, okrx, okrx2, okserver 所有代码均可以混淆,但是由于底层使用的是 okhttp,它不能混淆,所以只需要添加以下混淆代码就可以了

#okhttp-dontwarn okhttp3.**-keep class okhttp3.**{*;}#okio-dontwarn okio.**-keep class okio.**{*;}

当然如果你确实不需要混淆okgo的代码,可以继续添加以下代码

#okgo-dontwarn com.lzy.okgo.**-keep class com.lzy.okgo.**{*;}#okrx-dontwarn com.lzy.okrx.**-keep class com.lzy.okrx.**{*;}#okrx2-dontwarn com.lzy.okrx2.**-keep class com.lzy.okrx2.**{*;}#okserver-dontwarn com.lzy.okserver.**-keep class com.lzy.okserver.**{*;}

Licenses

Copyright 2016 jeasonlzy(廖子尧) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Doge是一个基于Python的高性能开源RPC框架
下一篇:springboot controller 增加指定前缀的两种实现方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~