我有一个应用程序,它向链接发送一个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使用缓存版本!
试试这个:
//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);