在ondestroy()之前的Android保存状态

时间:2011-10-06 14:42:49

标签: android state ondestroy

  

可能重复:
  Android: Saving a state during Android lifecycle

我想在用户终止活动之前在文件中保存一些值。我应该在哪种方法中实现它?

除了使用文件,还是sql lite有一种存储复杂数据的方法,比如布局(动态改变了)?

“onDestroy()注意:不要指望这个方法被称为保存数据的地方!”

4 个答案:

答案 0 :(得分:2)

布局绑定到包含它的Activity的上下文,因此您不希望将完整的View对象保存到文件,因为它所附加的Activity无效。

最简单的方法(取决于您要保存的数据的数量和类型)是使用SharedPreferences库。它是一个文件I / O包装器,可以非常简单地保存和检索数据。您可以在onPause()方法中保存特定的布局数据,使用onResume()中的规范重建布局。

如果您需要的数据过于复杂SharedPreferences,则必须将其保存以使用其他方法进行保存(在该链接中找到)。重建布局的过程将是相同的。

答案 1 :(得分:1)

我会在你的onPause方法中调用你想要传递给bundle的所有东西。这是android lifecycle上的一些内容,如果你想从文件加载,为什么不尝试在csv中存储东西。 (逗号分隔值)(虽然主要用于基于平铺的游戏)

答案 2 :(得分:0)

您可以使用SharedPreferences,参考doc和此tutorial了解如何操作:)

答案 3 :(得分:0)

为什么不使用SharedPreference保存数据?以下是android文档:http://developer.android.com/guide/topics/data/data-storage.html#pref