我正在创建一个应用程序,我必须在启动时下载一个字符串(确切地说是一个链表)(可能只在第一次运行时这样做),然后每隔一段时间用下载的新字符串检查这个字符串。如果有更改,则使用新发现的字符串更新原始字符串(并使用前台服务发出警报,但这是另一回事)。
目前,我创建了一个可执行服务,并在其中放置了代码来下载和管理字符串。它每15分钟执行一次,并且有效。
我的问题是,我不确定哪种方法是保存初始数据的最佳方法,并且只有在发现新数据时才知道如何更新它。我可以在main上创建一个方法,或者创建一个由main调用的不同类。另外,要在关闭手机或关闭应用程序时保存此数据,我必须将字符串保存在共享首选项中?
我想知道某人的意见。谢谢你的帮助
1条答案
按热度按时间yeotifhr1#
要通过重新启动保持,是的,数据必须以某种方式存储。
SharedPreferences
是一个很好的方法。我假设您有一个服务运行在Alarm
,因此获取新值并检查缓存的值。如果不一样,就写下来。如果没有,你就完了。如果您使用的是服务,还可以尝试将值存储在内存中,以便更快地进行比较。如果它恢复到
null
,您知道需要再次获取保存的值,否则在不从存储器读取的情况下执行相同的比较。你也可以用
BroadcastReceiver
要比较结果,请将新获取的值附加为额外值并发送Broadcast
一旦它被取回。