• Stars
    star
    10,596
  • Rank 3,236 (Top 0.07 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 9 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

OkGo - 3.0 震撼来袭,该库是基于 Http 协议,封装了 OkHttp 的网络请求框架,比 Retrofit 更简单易用,支持 RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能

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

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

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

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

友情链接

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

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

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

类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件,自动根据图片的数量确定图片大小和控件大小,使用Adapter模式设置图片,对外提供接口回调,使用接口加载图片,支持任意的图片加载框架如:Glide、ImageLoader、xUtils3、Picasso 等,支持点击图片全屏预览大图。
附上地址:https://github.com/jeasonlzy/NineGridView

联系方式

  • email: [email protected]
  • QQ群: 489873144 Android 格调小窝(点击图标,可以直接加入,建议使用QQ群,邮箱使用较少,可能看的不及时)
  • 如果遇到问题欢迎在群里提问,个人能力也有限,希望一起学习一起进步。

演示

imageimageimageimageimageimage

未来版本

[v3.1.x]版本

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

[v3.2.x]版本

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

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

使用

Codacy Badge

Android Studio用户

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

//必须使用
compile 'com.lzy.net:okgo:3.0.4'

//以下三个选择添加,okrx和okrx2不能同时使用
compile 'com.lzy.net:okrx:1.0.2'
compile 'com.lzy.net:okrx2:2.0.2'  
compile 'com.lzy.net: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版本,这里有2.x版本的文档,点击查看,注意:老版本库的问题将不在维护,所有bug会在最新版本修复,所以建议跟随最新版本的库。

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

  1. 看上述文档中是否有相关描述
  2. 看别人提的issues是否有你的问题,这里面有很多人的提问,点击这里看别人的提问
  3. 如果你感觉是bug,或者有疑问,也欢迎在issues里面提问,我每天都会认真解答,点击这里提问
  4. 还有疑问,加入联系方式中的QQ群,大家一起讨论。

如果你不想编译项目,提供了apk供直接运行,方便查看效果,点击图标下载:

本项目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://www.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.

More Repositories

1

ImagePicker

完全仿微信的图片选择,并且提供了多种图片加载接口,选择图片后可以旋转,可以裁剪成矩形或圆形,可以配置各种其他的参数
Java
4,285
star
2

NineGridView

类似QQ空间,微信朋友圈,微博主页等,展示图片的九宫格控件,自动根据图片的数量确定图片大小和控件大小,使用Adapter模式设置图片,对外提供接口回调,使用接口加载图片,支持任意的图片加载框架,如 Glide,ImageLoader,Fresco,xUtils3,Picasso 等,支持点击图片全屏预览大图。
Java
2,464
star
3

HeaderViewPager

具有共同头部的 ViewPager,支持与ListView,GridView,ScrollView,WebView,RecyclerView 嵌套使用。具有连续的滑动事件 和 滑动监听, 支持下拉刷新。
Java
768
star
4

VerticalSlideView

类似淘宝的商品详情页,继续拖动查看详情,其中拖动增加了阻尼,并且重写了ListView,GridView,ScrollView,WebView,RecyclerView 的 dispatchTouchEvent 方法,使用的时候无须额外的代码,可以任意嵌套使用。
Java
709
star
5

PullZoomView

类似QQ空间,新浪微博个人主页下拉头部放大的布局效果,支持ListView,GridView,ScrollView,WebView,RecyclerView,以及其他的任意View和ViewGroup。支持头部视差动画,阻尼下拉放大,滑动过程监听。
Java
590
star
6

AlphaIndicatorView

仿微信底部tab标签,滑动的时候颜色渐变,使用极其简单,只需要两行代码。
Java
376
star
7

ViewCore

主要是常用自定义控件的类库,该项目已经上传到 jCenter 仓库,可以直接使用
Java
200
star
8

OverScrollDecor

类似IOS的over-scrolling效果,即对于滑动到顶部的View继续滑动时会超出,松手后自动还原到原始位置。支持ListView,GridView,ScrollView,WebView,RecyclerView,以及其他的任意View和ViewGroup。
Java
129
star
9

HexagonView

六边形带圆角的自定义View,支持图文混排,点击区域,水平垂直方向切换,圆角大小等各种属性
Java
47
star
10

Screenshots

2
star
11

YaoBi

Java
1
star