Skip to content

huangyanbin/CacheOkttpUtils

Repository files navigation

CacheOkttpUtils

CacheOkttpUtils 基于鸿洋OkHttpUtils,增加多种http缓存。


  • 功能说明:

FIRST_NET 优先使用网络,失败再使用缓存

FIRST_CACHE 先加载缓存(缓存时间永久,除非缓存超过设置文件大小而被清理),再同步请求网络

FORCE_NETWORK 强制使用网络

FORCE_CACHE 强制使用缓存

NO_EXPIRE_USE_CACHE当缓存没有超过默认设置值时,则不再请求网络,使用缓存。例如设置缓存默认3分钟,当前一次网络请求后,在3分钟之内不会重新请求网络,而是使用缓存


  • 使用说明: 集成:

第一步:

root gradle:

allprojects {
	     repositories {
    	maven { url 'https://jitpack.io' }
    	jcenter()
	    }
}

第二步:

compile 'com.github.huangyanbin:CacheOkttpUtils:v1.0'

1.首先初始化建议在Application onCreate();

public void initOkHttpClient(boolean isLogDisable, String logName,CacheInterceptor cacheInterceptor){

    File cacheFile = new File(mApplication.getExternalCacheDir(),"httpCache");
    Cache cache = new Cache(cacheFile,1024*1024*50);
     OkHttpClient.Builder builder= new OkHttpClient.Builder();
            if(isLogDisable){
                builder.addInterceptor(new LoggerInterceptor(logName));
            }
    OkHttpClient okHttpClient =builder.addNetworkInterceptor(cacheInterceptor)
            .connectTimeout(8000, TimeUnit.MILLISECONDS)
            .writeTimeout(8000,TimeUnit.MILLISECONDS)
            .readTimeout(8000,TimeUnit.MILLISECONDS)
            .addInterceptor(cacheInterceptor)
            .cache(cache)
            .build();
    OkHttpUtils.initClient(okHttpClient);