【问题标题】:XML feed downloaded into a local XML file then processing the local XML fileXML 提要下载到本地 XML 文件,然后处理本地 XML 文件
【发布时间】:2014-08-02 20:50:15
【问题描述】:

我正在尝试编写一个具有以下功能的应用程序:

  • 本地 XML 文件用于为显示提供数据,
  • 摘要 XML 提要用于将日期与本地 XML 文件进行比较,如果摘要日期较新,则仅将完整的 XML 提要下载到本地 XML 文件中,
  • 如果没有网络连接,或者不需要下载,则使用本地 XML 文件。

我的目标是尽量减少不必要的网络流量,并应对根本没有网络连接的情况。 XML 数据的处理不是问题,只是将 XML 提要传输到本地文件,如果它已创建,以及如何在 1 个以上的活动中实现这一点。

请任何人提供一些提示来提供此功能?

提前致谢.....菲尔

【问题讨论】:

    标签: java xml android-activity inputstream local


    【解决方案1】:

    您已经很好地描述了您的策略,但仍有差距。

    我的建议是编写一些非常高级的伪代码作为方法,然后开始研究创建可以使代码工作的明显对象和填充物。

      Display display = ...;
      DisplayInfo displayInfo = null;
      while (checkingForDisplayUpdates()) {
         UpdateInfo updateInfo = getUpdateInfo();
         if (displayInfo == null || updateInfo.getDisplayRevision() > displayInfo.getRevision()) {
            DisplayInfo downloadedDisplayInfo = downloadDisplayInfo();
            if (downlaodedDisplayInfo.getChecksum() == updateInfo.getDisplayChecksum()) {
              display.clearDisplayInfo();
              display.presentDisplayInfo(displayInfo);
            }
         }
         sleepTillNextUpdateCheck();
      }
    

    【讨论】:

    • Edwin,更新的 XML 提要完全在我的控制之下(我拥有服务器并且我通常每月更新一次),但应用程序的用户不知道提要何时更新。在这种情况下,可能不需要睡觉。我想要的是在打开应用程序时检查提要,或者如果请求刷新并且有网络连接,则无论如何都要下载它。
    • 所以你需要在你的应用程序中有一个线程来检查更新,然后运行上面的伪代码。你不想每时每刻都检查,所以你 sleepTillNextUpdateCheck,或者睡到下一次你需要检查的时候。
    • @hollandnumerics 抱歉,上一篇文章更多是为了解释我的意图。我看到你已经在启动时下载了一些东西。如果显示信息可以嵌入其中,那么只需从那里更新显示。
    • Edwin,XML 提要是啤酒品尝笔记列表,目前大约在 1550 年左右。webOS 上此应用程序的早期版本确实会在启动时下载选择列表,然后根据要求下载选定的品尝笔记。但是,我经常发现我没有数据连接,所以根本无法使用。使用此 Android 应用程序中的摘要提要测试连接和最新更新日期,并拥有完整的本地副本,应该会显着减少数据流量,但如果已创建本地副本,它还可以在任何地方工作。跨度>
    猜你喜欢
    • 2011-12-05
    • 1970-01-01
    • 2021-12-23
    • 2011-11-27
    • 2015-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多