实际上,我正在从网络中获取XML,对其进行解析并将其显示在屏幕上。我遇到的问题是,每次调用活动时,活动都试图从Web加载数据。(实际上,我的移动应用需要频繁到服务器的旅行),因此我正在寻找以下解决方案:

On Re-launch of an activity, the data from web should not be loaded again. 
creating a class that i can use to transparently make application faster by
selectively caching items in memory.  And thus, making users very happy and 
This class can even apply individual refresh times to each cached item.

因此,我认为我需要将数据存储在缓存或类似的内容中。

有什么方法/技术可以实施此类操作?因此,它无需每次重新启动活动时加载。

有帮助吗?

解决方案

不确定该建议的表现会有什么,但是如果您只想避免每次重新发布活动时,最简单的是 内部存储器. 。当您的活动(重新)启动时,您将首先检查文件是否本地存在,然后再从网络中获取文件。

当然,您当然需要有一种逻辑来判断XML文件是否为“过时”(您可以拥有一个带有文件名和最后提取日期的简单数据库表),您可能还希望拥有某种形式清理逻辑以删除文件时不再需要文件,以免填充不必要的空间。

其他提示

您可以尝试使用 服务 以给定的间隔将数据加载在后台。

好吧,我要做的就是制作一个表格,假设将其称为“ table_web_xml”,并在其中将适当的字段称为存储特定的Web数据。

启动活动时,我将首先检查数据库中是否有数据。如果表是空的(这意味着活动是第一次加载),我将从网络上加载它并在屏幕上显示并保存在数据库中。

另一方面,如果表格中有数据,则我将其加载到屏幕上,并在背景中启动服务,如果网络上有任何更改,将更新我的数据库表。对于系统响应的角度,当活动重复打开时,数据将始终快速加载,而背景服务将确保在后续请求中确保新的和最新的内容:)。希望能帮助到你。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top