onSaveInstanceState()方法會攜帶一個 Bundle 類型的參數,Bundle 提供了一系列的方法用於保存數據,比如可以使用 putString()方法保存字符串,使用 putInt()方法保存整型數據,以此類推。每個保存方法需要傳入兩個參數,第一個參數是鍵,用於后面從 Bundle中取值,第二個參數是真正要保存的內容。
在 Activity 中添加如下代碼就可以將臨時數據進行保存:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String tempData = "Something you just typed";
outState.putString("data_key", tempData);
}
取數據
if (savedInstanceState != null) {
String tempData = savedInstanceState.getString("data_key");
Log.d(TAG, tempData);
}
Intent 還可以結合Bundle 一起用於傳遞數據的,首先可以把需要傳遞的數據都保存在 Bundle 對象中,然后再將 Bundle 對象存放在 Intent 里。到了目標活動之后先從 Intent 中取出 Bundle,再從 Bundle中一一取出數據。