Skip to content

对OkHttp进行封装,网络请求失败自动查询本地缓存,上传文件等功能

Notifications You must be signed in to change notification settings

zhangdapengvip/OKHttpUtils

Repository files navigation

## OKHttpUtils 对OkHttp进行封装,实现了只查询缓存,网络请求失败自动查询本地缓存等功能 支持4种不同的查询方式

*ONLY_NETWORK 只查询网络数据

*ONLY_CACHED 只查询本地缓存

*CACHED_ELSE_NETWORK 先查询本地缓存,如果本地没有,再查询网络数据

*NETWORK_ELSE_CACHED 先查询网络数据,如果没有,再查询本地缓存

目前支持缓存部分只支持get请求,默认查询方式为NETWORK_ELSE_CACHED,可通过Builder来指定默认查询方式

#简单使用方法: okHttpUtils = new OKHttpUtils.Builder(this).build(); okHttpUtils.get("http://api.k780.com:88/?app=life.time&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json", cacheType ,new Callback() { @Override public void onFailure(Request request, IOException e) { Log.d("failed",e.toString()); }

        @Override
        public void onResponse(final Response response) throws IOException {
            //  tv.setText(response.body().string());
            Log.d("response", response.toString());
            String str = response.body().string();
            Log.d("response", str);
        }
    });

#通过Builder初始化的方法 okHttpUtils = new OKHttpUtils.Builder(this).cachedDir(getCacheDir()).maxCachedSize(5 * 1024 * 1024).cacheType(CacheType.CACHED_ELSE_NETWORK).maxCacheAge(60).build(); 来配置默认的配置

#可添加拦截器 通过interceptors()和networkInterceptors()可添加拦截器 拦截器的使用说明请参考这篇文章 http://www.tuicool.com/articles/Uf6bAnz

#取消请求 cancel(url)

#more 如果所提供的功能不满足需求,可通过getClient()获取到OKHttpClient来使用原生okhttp的功能

About

对OkHttp进行封装,网络请求失败自动查询本地缓存,上传文件等功能

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%