我想在用户终止活动之前在文件中保存一些值。我应该在哪种方法中实现它?
除了使用文件,还是sql lite有一种存储复杂数据的方法,比如布局(动态改变了)?
“onDestroy()注意:不要指望这个方法被称为保存数据的地方!”
答案 0 :(得分:2)
布局绑定到包含它的Activity的上下文,因此您不希望将完整的View
对象保存到文件,因为它所附加的Activity无效。
最简单的方法(取决于您要保存的数据的数量和类型)是使用SharedPreferences库。它是一个文件I / O包装器,可以非常简单地保存和检索数据。您可以在onPause()
方法中保存特定的布局数据,使用onResume()
中的规范重建布局。
如果您需要的数据过于复杂SharedPreferences
,则必须将其保存以使用其他方法进行保存(在该链接中找到)。重建布局的过程将是相同的。
答案 1 :(得分:1)
我会在你的onPause方法中调用你想要传递给bundle的所有东西。这是android lifecycle上的一些内容,如果你想从文件加载,为什么不尝试在csv中存储东西。 (逗号分隔值)(虽然主要用于基于平铺的游戏)
答案 2 :(得分:0)
答案 3 :(得分:0)
为什么不使用SharedPreference保存数据?以下是android文档:http://developer.android.com/guide/topics/data/data-storage.html#pref