【问题标题】:Android: Cache XML File from RSS FeedAndroid:从 RSS 源缓存 XML 文件
【发布时间】:2011-06-12 04:57:36
【问题描述】:

我刚开始做我的第一个 Android 应用程序,它恰好是一个 RSS 阅读器。我对此进行了一些谷歌搜索,但没有看到明确的参考。我想要做的是将我的 xml 文件(提要文件)缓存到 sdcard 中,这样当手机离线时,用户仍然可以通过在未检测到网络时自动告诉应用程序查找提要来查看提要。我现在拥有的是缓存图像的机制,但我想知道如何将其用于其他文件,因为它仅用于使用 HashMap() 将其转换为位图的图像。

【问题讨论】:

  • 我想你可以通过将 rss 保存到 sdcard.and whnevr internet connn 来做到这一点。是不是你可以通过从 sdcard 中获取来做到这一点
  • 另一种方法是您可以将该 xml 存储在 sql lite 数据库中,并在没有连接时从中读取
  • 谢谢大家,我现在就试试! ;)

标签: android xml caching rss feed


【解决方案1】:

我认为首选方法是(正如 Umakant Patil 对您的问题所评论的那样)将数据存储在 SQLite 数据库中。您通常会编写一个后台服务,该服务不时使用服务器端数据刷新您的数据库。您的应用程序将始终只从您的 SQLite 数据库中读取。请注意,服务和应用程序通常会各自独立地生活(您的应用程序永远不会与您的服务直接通信)。

从架构的角度来看,此过程也更安全一些。由于网络流量,您的应用程序将永远不会依赖网络连接或时间问题。它只依赖于您本地设备上的数据和数据库访问。

提示 #1: 您可以将一个条目传递给 AlarmManager,它将在给定的时间间隔唤醒您的服务。您的服务会将您的数据库与 RSS 源同步,然后自行终止(节省资源总是好的 :-)

这里有一个很好的 Android 服务示例:http://developer.android.com/reference/android/app/Service.html

关于这里的内容提供者: http://developer.android.com/guide/topics/providers/content-providers.html

提示 #2: 请注意,您不一定需要内容提供者来与您的数据库进行通信。如果您希望“标准化”您的数据库通信,那么拥有内容提供者是很好的选择。也许您的应用程序的多个组件需要访问它,甚至需要访问多个应用程序,那么最好使用已经定义的“事实上的标准”方式来访问数据库。

【讨论】:

  • 谢谢,dbm!你给了我一个好主意。我现在就试试看性能会不会有提升。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-14
  • 1970-01-01
  • 2016-07-25
  • 1970-01-01
  • 2014-12-04
相关资源
最近更新 更多