【问题标题】:Android: extract data from external XML file and store them in internal XML file (same file structure)Android:从外部 XML 文件中提取数据并将它们存储在内部 XML 文件中(相同的文件结构)
【发布时间】:2014-08-25 14:46:12
【问题描述】:

我正在构建一个应用程序,它从 Web XML 文件(类似于 RSS 提要)中获取一些数据并在 Webview 中显示这些数据。 这是通过一个 DOMParser 活动完成的,我用不同的 XML URL 提供该活动。

现在,我想获取其中一些数据并将它们存储在内部存储中(一种“收藏”选项),让用户离线查看它们。

要查看这些存储的数据,我想使用相同的 DOMParser,提供内部路径而不是 Web URL(因此我不需要创建另一个活动)。

要以这种方式进行,我需要在某处创建一个空的 XML 文件 (res/XML/file.xml),将必要的数据存储在该文件中(无论何时用户选择这样做)并让用户检索通过 DOMParser 离线时来自此 XML 的数据(而不是 Web URL 上的数据)。

存储数据以保留上述内容的更好方法是什么? SQLite 是否可以在 XML 文件中存储和删除数据,还是需要使用其他工具?

感谢任何想帮助我的人

【问题讨论】:

    标签: java android xml rss


    【解决方案1】:

    您不能将此文件存储在 res/xml 文件夹中,这是不允许的。您可以将其存储在文件系统中。 Android官方教程对storing files的讲解很详细。

    当您存储或读取文件时,您必须使用 Streams。

    针对第一条评论进行更新

    这取决于这部分 XML 数据的大小和复杂程度。如果您希望完整地检索那部分 XML,那么我会使用文件系统。

    如果您希望在 XML 部分中使用 SQL 结构,那么 SQLite 将是一个不错的选择,那么您可以从中受益,例如创建查询以查找您感兴趣的 XML 位。我认为使用 SQLite 并将 XML 部分存储为每行的字符串是没有意义的。

    如果您仍然不知道该选择哪个,请查看示例实现,看看哪个更适合您。

    【讨论】:

    • 感谢您的回答。我不需要存储整个文件。我需要将数据从 XML 插入到存储的 XML 中。在这种情况下,Streams 是正确的选择吗?因为检查 Stackoverflow,我发现了一个类似的问题,他们在谈论使用 SQLite 数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    相关资源
    最近更新 更多