0

实际上,我正在从网络上获取 XML,对其进行解析并将其显示在屏幕上。我遇到的问题是,每次调用活动时,活动都会尝试从网络加载数据。(实际上,我的移动应用程序需要经常访问服务器)所以我正在寻找以下解决方案:

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.

所以,我认为我需要将数据存储在缓存或类似的东西中。

有什么方法/技术可以实现这样的事情吗?这样它就不需要每次重新启动活动时都加载。

4

3 回答 3

1

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

于 2010-11-12T06:34:20.643 回答
1

好吧,我要做的是制作一个表格,可以称之为“Table_Web_XML”,并在其中使用适当的字段来存储特定的 Web 数据。

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

另一方面,如果表中有数据,那么我会将其加载到屏幕上,并在后台启动一个服务,如果 Web 上的数据库表有任何更改,该服务将更新我的数据库表。从系统响应的角度来看,这将始终快速加载数据,当重复打开活动时,后台服务将确保后续请求的新内容和最新内容:)。希望能帮助到你。

于 2010-11-12T06:40:20.053 回答
1

不确定此建议的性能如何,但如果您只想避免每次重新启动活动时获取 XML 文件,最简单的方法是将它们保存到Internal Storage。当您的活动(重新)启动时,您将首先检查文件是否存在于本地,然后再从网络上获取它们。

您当然需要某种逻辑来判断 XML 文件是否“过时”(您可以有一个简单的数据库表,其中包含文件名和上次获取的日期),并且您可能还希望有某种当您不再需要文件时删除文件的清理逻辑,这样它们就不会填满不必要的空间。

于 2010-11-12T08:34:58.823 回答