android运行时状态,Android 如何保存Android 运行时状态
Android 如何保存Android 運行時狀態
使用 SaveInstanceState去保存運行時數據
首先,我們需要重寫一下系統的public void onSaveInstanceState(Bundle savedInstanceState)方法
并在onSaveInstanceState方法中添加需要保存的數據。
最后我們可以在onRestoreInstanceState方法中進行數據讀取。
如何進行運行時狀態的保存
上面我們說到,我們可以使用onSaveInstanceState去進行數據保存。
/**
* 保存實例狀態
* @param savedInstanceState
*/
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putInt("ID", 1);
super.onSaveInstanceState(savedInstanceState);
}
可以注意到這里用來存儲運行時狀態的數據的是一個Bundle如果你對它有過了解,那么我們都知道它是一個鍵值對類型的。所以我們的保存數據的語句就是:
savedInstanceState.putInt("ID", 1);
注意在存入數據后我們還需要調用超類的方法,來完成保存。
如何恢復數據
如何去恢復我們剛剛保存的數據。這個時候我們就需要去覆蓋寫一個onRestoreInstanceState(Bundle savedInstanceState)呢。
/**
* 恢復實例狀態
* @param savedInstanceState
*/
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
if (savedInstanceState != null) {
Toast.makeText(this, "Welcome back.", Toast.LENGTH_SHORT).show();
int id= savedInstanceState.getInt("ID");
System.out.println(id);
} else {
Toast.makeText(this, "Welcome to HelloAndroid!", Toast.LENGTH_SHORT).show();
}
super.onRestoreInstanceState(savedInstanceState);
}
上面就是我們用來恢復運行時狀態的相關代碼呢。這里其實沒啥,主要就是我們重寫呢onRestoreInstanceState方法來完成操作。
恢復流程如下。
首先,在onRestoreInstanceState方法中,我們需要去判斷一下當前的Bundle是否為空。如果不為空我們就需要進行數據獲取操作呢。添加為空判斷是為了空指針所導致的相關異常。
int id = savedInstanceState.getInt("ID");
這樣,我們的獲取操作就完成了,需要注意的是在獲取一些數據的時候我們需要進行為空判斷,但是這個無法避免取出來的值不為空,所以如果需要使用這些數據請進行異常處理,或者是相關的為空判斷。
到這里,我們Android 保存和恢復實例狀態的操作就基本完成了。
總結
以上是生活随笔為你收集整理的android运行时状态,Android 如何保存Android 运行时状态的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通输卵管的最佳时间是什么时候?
- 下一篇: 乐刻运动 app android,乐刻运