该代码在活动——活动的生命周期所创建的项目下运行
目的:如何解决活动被回收时数据得不到保存的问题。
代码:
MainActivity中添加代码
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String tempData = "Someting you just typed";
outState.putString("data_key", tempData);
}
解释:
onSaveInstanceState():携带一个Bundle类型的参数。
Bundle:提供一系列方法用于保持数据,putString()方法保存字符串,putInt()方法保存整型数据。两个参数。
- 第一个参数:键。
- 第二个参数:真正要保存的内容。
代码:
修改MainActivity的onCreate()方法
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d(TAG,"onCreate");
setContentView(R.layout.activity_main);
if(savedInstanceState !=null){
String tempData = savedInstanceState.getString("data_key");
Log.d(TAG, tempData);
}
...
}