【问题标题】:how to force android to read newst file from server?如何强制android从服务器读取新闻文件?
【发布时间】:2015-02-14 12:51:09
【问题描述】:

在我的应用程序中,我使用以下代码在线阅读了一个 xml,它工作正常:

URL url = new URL("http://dl.1kolbe.ir/adv.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new InputSource(url.openStream()));
doc.getDocumentElement().normalize();
NodeList nl = doc.getElementsByTagName("item");

Node node = nl.item(i);
Element fstElmnt = (Element) node;
NodeList nameList = fstElmnt.getElementsByTagName("title");
Element nameElement = (Element) nameList.item(0);
nameList = nameElement.getChildNodes();
final String adv_title = ((Node) nameList.item(0)).getNodeValue();

但是当我更改服务器上的 xml 数据时,我的应用程序会显示旧的 xml 数据。我想我必须清除缓存之类的东西,但我不知道怎么做!

【问题讨论】:

标签: android xml caching


【解决方案1】:

我找到了解决它的窍门!我只是在 url 中添加了一些随机且未使用的参数,因此 android 将其视为一个新的 url:

Time now = new Time();
now.setToNow();
String time = "" + now.hour + now.minute + now.second;
int time_int = Integer.parseInt(time);
URL url = new URL("http://dl.1kolbe.ir/adv.xml" + "?unused=" + time_int);

【讨论】:

    【解决方案2】:

    如果应用程序没有完全停止(android 不会这样做),那么它不知道您的文件内容已更改。您需要通过监视连接或文件时间戳或其他方法来强制重新加载文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-18
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 2013-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多