如何在活动被销毁后存储一些数据

时间:2014-03-17 03:23:45

标签: android xml

我正在创建一个计算器应用程序,当我的活动被发送到后台然后被带到前面时。它的结果变为零。我如何保存数据,并在下次重新创建活动时对其进行检索。

2 个答案:

答案 0 :(得分:0)

使用SharedPreferences之类的:

SharedPreferences preferences = null;
SharedPreferences.Editor editor = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    preferences = PreferenceManager.getDefaultSharedPreferences(this);
}

onDestory()中写道:

@Override
protected void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();
    editor = preferences.edit();
    editor.putInt(YOUR_KEY, YOUR_VALUE);
    editor.commit();
}

并在onStart()中写道:

@Override
protected void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
    int result = preferences.getInt(YOUR_KEY, YOUR_VALUE);
}

希望这会对你有所帮助

答案 1 :(得分:0)

对于该特定情况,您希望使用Activity生命周期方法onSaveInstanceStateonRestoreInstanceState。覆盖这两种方法,然后在onSaveInstanceState中保存必要的数据。在onCreateonRestoreInstanceState检查是否存在已保存的数据,然后将其恢复到正确的位置。

注意:您也可以使用首选项或数据库,但这些通常用于应该持续超过单个后台/恢复周期的数据。 onSaveInstanceState / onRestoreInstanceState方法专门用于将活动发送到后台然后稍后恢复的情况。