onSaveInstanceState和SharedPreferences都可以保存当前页面的数据,但是有所区别。
onSaveInstanceState函数里面保存的数据只有在用户没有按退出键或者说当前activity没有被系统kill掉才有用
例如保存EditText里面的值:
重写onSaveInstanceState()函数,并且保存数据
String str = et.getText().toString();
outState.putString("content", str);
在onCreat()里面判断读取数据,如下:
if(null != SaveInstanceState){
String str = SaveInstanceState.getString("content");
et.setText(str);
}
SharedPreferences保存数据
重写onPause函数
重新onResume函数去数据
其中SharedPreference不能存复杂的数据,只提供了一个putStringSet,所以要用到复杂数据的还需要用到数据库,SQLite就很好,一种轻量级的数据库。