## OKHttpUtils
依赖于okhttp,修改了小部分的okhttp源码,将Cache的部分方法改成public来查询缓存
#如果需要文件下载,请看这个库[DownloadManager](https://github.com/duzechao/DownloadManager)
对OkHttp进行封装,实现了只查询缓存,网络请求失败自动查询本地缓存等功能,结果用Gson解析
支持文件上传进度回调
<br/>支持gzip,可通过gzip(isOpen)来开启或移除,也可通过在Builder自定义的时候开启(由于okhttp默认开启了gzip,
<br/>所以此选项是对发送到服务器的数据进行gzip,如果服务器不支持,请勿开启)
支持4种不同的查询方式
*ONLY_NETWORK 只查询网络数据
*ONLY_CACHED 只查询本地缓存
*CACHED_ELSE_NETWORK 先查询本地缓存,如果本地没有,再查询网络数据
*NETWORK_ELSE_CACHED 先查询网络数据,如果没有,再查询本地缓存
#简单使用方法:
1.
okHttpUtils = new OKHttpUtils.Builder(this).build();
private JsonCallback<DateModule> jsonCallback = new JsonCallback<DateModule>() {
@Override
public void onFailure(Call call, Exception e) {
onFail(e);
}
@Override
public void onResponse(Call call, final DateModule object) throws IOException {
if(object!=null){
tv5.post(new Runnable() {
@Override
public void run() {
tv5.setText(object.getResult().getDatetime_1());
}
});
}
}
};
Request request = new Request.Builder().url(url).build();
okHttpUtils.request(request, cacheType, jsonCallback);
2.上传文件
uploadFile(String url, File file, Headers headers, UploadListener uploadListener)//heads如果没有 可传null
3.自定义client
okHttpUtils = new OKHttpUtils.Builder(this).cachedDir(cacheDir).cacheType(CacheType.ONLY_NETWORK).gzip(true).maxCachedSize(1024*10).build();
4.同步请求
`
requestAsync()方法,同步请求
`
#可添加拦截器
通过interceptors()和networkInterceptors()可添加拦截器
#添加回调
调用的时候传入CallBack或JsonCallBack,JsonCallBack使用了Gson解析,JsonCallBack<DateModule>或JsonCallBack<List<DateModule>>来解析当个module或一个list,支持List<Map<Object,Object>等
#more
如果所提供的功能不满足需求,可通过getClient()获取到OKHttpClient来使用原生okhttp的功能
没有合适的资源?快使用搜索试试~ 我知道了~
OKHttpUtils-masterAndroid 一个改善的 okHttp 封装库
共138个文件
java:95个
xml:18个
gradle:5个
需积分: 16 30 下载量 26 浏览量
2016-10-20
16:35:08
上传
评论
收藏 342KB ZIP 举报
温馨提示
OKHttpUtils-masterAndroid 一个改善的 okHttp 封装库
资源推荐
资源详情
资源评论
收起资源包目录
OKHttpUtils-masterAndroid 一个改善的 okHttp 封装库 (138个子文件)
gradlew.bat 2KB
.gitignore 172B
.gitignore 45B
.gitignore 7B
.gitignore 7B
build.gradle 709B
build.gradle 683B
build.gradle 658B
build.gradle 612B
settings.gradle 45B
gradlew 5KB
gradle-wrapper.jar 52KB
HttpUrl.java 59KB
CipherSuite.java 37KB
HttpEngine.java 35KB
DiskLruCache.java 33KB
FramedConnection.java 32KB
Http2.java 28KB
OkHttpClient.java 25KB
Cache.java 24KB
Spdy3.java 19KB
Cookie.java 19KB
FramedStream.java 19KB
Http1xStream.java 17KB
OKHttpUtils.java 16KB
Hpack.java 15KB
Platform.java 15KB
Util.java 14KB
RealConnection.java 14KB
StreamAllocation.java 13KB
CacheControl.java 12KB
ConnectionSpec.java 12KB
Response.java 12KB
CacheStrategy.java 11KB
DistinguishedNameParser.java 11KB
CertificatePinner.java 11KB
Http2xStream.java 11KB
MultipartBody.java 10KB
Headers.java 10KB
ConnectionPool.java 10KB
RealCall.java 9KB
OkHostnameVerifier.java 8KB
RouteSelector.java 8KB
Huffman.java 8KB
Settings.java 8KB
OkHeaders.java 7KB
Request.java 7KB
Dispatcher.java 7KB
Address.java 6KB
OptionalMethod.java 6KB
ResponseBody.java 6KB
FrameReader.java 6KB
ConnectionSpecSelector.java 5KB
Handshake.java 5KB
FileSystem.java 5KB
HttpDate.java 5KB
Connection.java 4KB
FrameWriter.java 4KB
NameValueBlockReader.java 4KB
MediaType.java 4KB
RequestBody.java 4KB
FormBody.java 4KB
MainActivity.java 4KB
PushObserver.java 3KB
Protocol.java 3KB
Route.java 3KB
StatusLine.java 3KB
Call.java 3KB
Internal.java 3KB
CookieJar.java 2KB
Authenticator.java 2KB
DateModule.java 2KB
ErrorCode.java 2KB
RetryableSink.java 2KB
HttpStream.java 2KB
Dns.java 2KB
HeaderParser.java 2KB
Ping.java 2KB
Header.java 2KB
HttpMethod.java 2KB
RouteException.java 2KB
InternalCache.java 2KB
RouteDatabase.java 2KB
Callback.java 2KB
Challenge.java 2KB
RequestLine.java 2KB
HeadersMode.java 1KB
TlsVersion.java 1KB
RealResponseBody.java 1KB
Credentials.java 1KB
Variant.java 1KB
NamedRunnable.java 1KB
Interceptor.java 1KB
RequestException.java 1KB
FaultHidingSink.java 1KB
JsonCallback.java 805B
Version.java 767B
CacheRequest.java 765B
Point.java 526B
Callback.java 456B
共 138 条
- 1
- 2
资源评论
shijingbetter
- 粉丝: 2
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功