OKhttp网络缓存数据

xiaoxiao2021-02-27  463

此缓存需要用最新版本的OK依赖,compile 'com.squareup.okhttp3:okhttp:3.7.0'//并在main_fast里面添加读写sdcard的权限。即可<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>//缓存文件夹 File file = new File(getContext().getExternalCacheDir().toString(), "cache"); //缓存大小为10M int cacheSize = 10 * 1024 * 1024; //创建缓存对象 final Cache cache = new Cache(file, cacheSize); OkHttpClient cline=new OkHttpClient.Builder().addNetworkInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Response proceed = chain.proceed(chain.request()); return proceed.newBuilder().removeHeader("pragma") .header("Cache-Control", "max-age=60").build(); } }).cache(cache).build(); Request request = new Request.Builder().get().url(url).build(); Call call = cline.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String s = response.body().string(); Message message = new Message(); message.what = 0; message.obj = s; handler.sendMessage(message); } });
转载请注明原文地址: https://www.6miu.com/read-212.html

最新回复(0)