HttpResponseCache работает с изображением, но не с Json

Я пытаюсь использовать HttpResponseCache для включения кэширования ответов (для веб-запросов) . В моем приложении я выполняю запрос UrlConnection с Loader, а затем отправляю результат InputStream в Activity, чтобы показать изображение или работать с JsonObject. В моем случае HttpResponseCache работает с URL-адресом изображения и может отображать изображение в автономном режиме, но с помощью URL-адреса Json результат входного потока работает только онлайн, он не может отображать данные в автономном режиме.


Класс погрузчика:

public InputStream loadInBackground() {
    InputStream streamResult = null;
    HttpURLConnection conn = null;

    URL url = new URL(urlConnection);
    conn = (HttpURLConnection) url.openConnection();
    conn.setUseCaches(true);
    final InputStream finalStream = conn.getInputStream();
    streamResult = finalStream;
    ((Activity) context).runOnUiThread(new Runnable() {
        @Override
        public void run() {
            ShowData(finalStream);
        }
    });
    return streamResult;
}

Деятельность:

@Override
public void ShowData(InputStream output) {
    if (output != null) {
            if (rbtImage.isChecked()) {
                bitmap = BitmapFactory.decodeStream(output);
            } else if (rbtJson.isChecked()) {
                try {
                    result = convertStreamToString(output);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
    }
}

После выполнения Loader я могу показать изображение с этим растровым изображением по URL-адресу изображения. Но не может отображать данные с помощью Json's Url в автономном режиме.

Я пытаюсь использовать с:addRequestProperty("Cache-Control", "only-if-cached"); "max-stale", "max-age", "max-age=600, private, must-revalidate". Но ничего не работает.

Пожалуйста, помогите мне узнать, как использовать HttpResponseCache с Json?

0 ответов

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