如何在Android中清除HttpURLConnection的缓存?

时间:2015-09-14 18:14:41

标签: java android json caching httpurlconnection

我有一个应用程序向链接发送GET请求并从服务器返回一些JSON数据,然后将它们保存在Posts列表中(自定义Java对象)并在活动中显示结果......

问题是,它显示了缓存的结果!因此,如果我在该JSON文件中更改某些内容,我的应用程序需要一段时间来显示这些更改!

我使用HttpURLConnection连接服务器,我也尝试使用.setUseCaches

URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setDefaultUseCaches(false);
connection.setUseCaches(false);
...
...

但它也没有工作......

我该怎么办?

编辑(我忘了提及):

在我更改该值并在PC浏览器(任何浏览器)中打开JSON文件后,我看到了新结果,而不是缓存的结果......但Android使用缓存版本!

1 个答案:

答案 0 :(得分:0)

尝试一下:

    //create connect http
    URL oURL = new java.net.URL("http://some.site.url");
    HttpURLConnection con = (HttpURLConnection) oURL.openConnection();

    // set none cache
    con.setRequestProperty("Cache-Control", "no-cache");

    con.setDefaultUseCaches(false);
    con.setUseCaches(false);