首页 > 解决方案 > 保存对象的属性

问题描述

我的 Android 应用程序中有一组对象实例myClass[] test_array = new myClass[4];

我想稍后保存和恢复的对象属性。在onStop()活动事件发生后,它们应该以某种方式保存,并在下一次活动开始时恢复。

我怎样才能以最好的方式做到这一点?XML,属性,首选项,...?

标签: javaandroid

解决方案


最好的方法之一是覆盖onSaveInstanceState(Bundle savedInstanceState)

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);

    // Save data on recreate or when app is killed
    savedInstanceState.putParcelableArray("YOUR_KEY",array)
}

并通过覆盖onRestoreInstanceState(Bundle savedInstanceState)来恢复值

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
  super.onRestoreInstanceState(savedInstanceState);

  // restore saved data
  array = savedInstanceState.getParcelableArray("YOUR_KEY");

}

推荐阅读