从 android 上的网络服务器中提取数据未更新

Pulling data from web server on android not updating

我不太确定问题出在我的 android 程序上还是网络服务器 api 中的某种限制。我使用 futurerequest 通过 api 键和 feed id 从 xively 获取数据,并以 json 格式解析数据,然后将其存储在我的数据库中。连接建立得很好,无法连接并从服务器获取数据。这是通过异步任务完成的,请求频率为 1 分钟。

我面临的问题是,当我通过网络浏览器更新服务器中的数据时,我程序上的响应没有更新。它不断获取旧数据。调试时我可以清楚地看到一切都按预期工作,并且我可以看到我从服务器获得的 json 响应对象正在工作,但是数据不新鲜。我发现通过手动更改 api 键可以使程序获取最新数据。此外,通过清除缓存和数据,可以从服务器获取新数据。如您所知,我不能要求用户每次都清除缓存和数据以获取最新更新。

我该如何解决这个问题?这个问题背后的原因可能是什么?提前致谢!

编辑: 单独清除缓存没有帮助。此外,使用 phone 而不是模拟器也无济于事。

我正在使用 volley 库来处理 request/network 流量

想要更新我找到的解决方案。这 link 帮助我找到了解决方案。显然,排球涉及一些缓存。通过使用方法

request.setShouldCache(false);

我能够随时从服务器获取最新更新。

但是,当我尝试使用下面的代码获取缓存时,在将其设置为 false 之前,查看缓存中的内容是空的。条目将始终为空。如果有人知道原因并可以解释,我将不胜感激:)

Entry entry = queue.getCache().get(url);
if(entry!=null){
     String data = new String(entry.data, "UTF-8");
     // process data
}