okhttp离线缓存

来源:互联网 发布:微信h5制作软件 编辑:程序博客网 时间:2024/06/07 09:11
         
OkHttpClient okHttpClient = new OkHttpClient();OkHttpClient newClient = okHttpClient.newBuilder()        .addNetworkInterceptor(new CacheInterceptor())        .cache(new Cache(new File(this.getExternalCacheDir(), "okhttpcache"), 10 * 1024 * 1024))        .connectTimeout(20, TimeUnit.SECONDS)        .readTimeout(20, TimeUnit.SECONDS)        .build();
         主要就是设置拦截器和缓存时间(addNetworkInterceptor和cache)
public class CacheInterceptor implements Interceptor {    @Override    public Response intercept(Chain chain) throws IOException {        Request request = chain.request();        Response response = chain.proceed(request);        Response response1 = response.newBuilder()                .removeHeader("Pragma")                .removeHeader("Cache-Control")                //cache for 30 days                .header("Cache-Control", "max-age=" + 3600 * 24 * 30)                .build();        return response1;    }
     这样配置一下就缓存就实现了。
原创粉丝点击