实际上,我是从网上获取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.
所以,我认为我需要将数据存储在Cache或类似的东西中。
有没有办法/技术来实现这样的事情?因此,无需在重新启动活动时每次加载。
答案 0 :(得分:1)
您可以尝试使用Service以给定的时间间隔在后台加载数据。
答案 1 :(得分:1)
我要做的就是创建一个表,让我们称之为“Table_Web_XML”,并在其中添加适当的字段来存储特定的Web数据。
启动Activity时,我首先要检查数据库中是否有数据。如果表是空的(意味着活动是第一次加载),我会从网上加载它并显示在屏幕上并保存在数据库中。
另一方面,如果表中有数据,那么我会在屏幕上加载它,并在后台启动一个服务,如果Web上有任何更改,它将更新我的数据库表。这样做是为了系统响应的观点,数据将始终快速加载,当活动重复打开,后台服务将确保后续请求的新的和最新的内容:)。希望它有所帮助。
答案 2 :(得分:1)
不确定此建议会有什么效果,但如果您只想避免每次重新启动活动时都取出XML文件,最简单的方法就是将它们保存到Internal Storage。当您的活动(重新)启动时,您将首先检查文件是否存在于本地,然后再从网络上获取文件。
你当然需要一种逻辑来判断一个XML文件是否“过时”(你可能有一个带有文件名和最后获取日期的简单数据库表),你可能也想要当你不再需要它们时,某种清理逻辑可以删除文件,因此它们不会占用不必要的空间。