Кэширование данных с помощью модификации 2

Я пытаюсь получить доступ к своим данным в автономном режиме, также используя дооснащение, но этого не происходит. В коде все в порядке, но он не работает.

данные журнала для обоих статусов WiFi одинаковы.

OkHttpClient client = new OkHttpClient
                .Builder()
                .addInterceptor(logging)
                .addInterceptor(new Interceptor() {
                    @Override public Response intercept(Chain chain) throws IOException {
                        Request request = chain.request();
                        if (isNetworkAvailable(context,ConnectivityManager.TYPE_WIFI)) {
                            request = request.newBuilder().header("Cache-Control", "public, max-age = " + 60).build();
                            Log.d("data",request.toString());
                        } else {
                            request = request.newBuilder().header("Cache-Control", "public, only-if-cached, max-stale = " + 60 * 60 * 24 * 7).build();
                            Log.d("data1",request.toString());

                        }
                        return chain.proceed(request);
                    }
                })
                .cache(new Cache(httpCacheDirectory, 10 * 1024 * 1024)) // 10 MB
                .build();
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
660
1

Ответы 1

Это должно сработать для вас.

    OkHttpClient okHttpClient = new OkHttpClient()
            .newBuilder()
            .cache(new Cache(getyourapplicationcontext.getCacheDir(), 10 * 1024 *1024))
            .addInterceptor(chain -> {
                Request request = chain.request();
                if (NetworkUtil.isDeviceConnectedToInternet(getyourapplicationcontext)) {
                    request = request.newBuilder().header("Cache-Control", "public, max-age = " + 60).build();
                } else {
                    request = request.newBuilder().header("Cache-Control", "public, only-if-cached, max-stale = " + 60 * 60 * 24 * 7).build();
                }
                return chain.proceed(request);
            })
            .build();``

Другие вопросы по теме