android activity 正常被销毁时数据如何存储
时间: 2024-02-12 13:03:59 浏览: 26
当Activity被销毁时,其中的数据将会丢失。为了避免这种情况,可以将数据保存在Activity的生命周期方法中,例如onSaveInstanceState()。在这个方法中,可以保存Activity的状态信息,例如EditText中的文本,CheckBox的选中状态等等。系统将会在Activity被销毁前调用这个方法,让你有机会保存数据。
具体的步骤如下:
1. 在Activity中重写onSaveInstanceState()方法。
2. 在onSaveInstanceState()方法中,使用Bundle对象保存需要保存的数据。
3. 在Activity的onCreate()方法中,判断savedInstanceState是否为null。如果savedInstanceState不为null,说明Activity是被销毁后重新创建的,可以从savedInstanceState中获取保存的数据。
以下是一个示例代码:
```
public class MainActivity extends Activity {
private EditText mEditText;
private CheckBox mCheckBox;
private boolean mIsChecked;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditText = (EditText) findViewById(R.id.editText);
mCheckBox = (CheckBox) findViewById(R.id.checkBox);
if (savedInstanceState != null) {
mEditText.setText(savedInstanceState.getString("text"));
mIsChecked = savedInstanceState.getBoolean("isChecked");
mCheckBox.setChecked(mIsChecked);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("text", mEditText.getText().toString());
outState.putBoolean("isChecked", mCheckBox.isChecked());
}
}
```
在这个示例中,我们保存了EditText中的文本和CheckBox的选中状态,并在Activity重新创建时恢复了它们的状态。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)