A - 什麼是節省屏幕旋轉的Android onSavedInstanceState保存和恢復時間
B中的日期/時間的正確方法 - 爲什麼我的執行下面加20秒,節省的時間?
我正在處理一段時間的計算。我追蹤指定期間(abegtim日期)的開始和指定期間(aendtim日期)的結束。每次我從GPS相關服務收到新的GPS讀數時,aendtim都會更新。我不能讓屏幕旋轉來重置我的abegtim,但這就是發生了什麼。 (string2date是我的功能)
我在循環中測試了下面的代碼,並且abegtim從onRestoreInstanceState出來的時間比它進入onSavedInstanceState時晚20秒。
@Override
public void onSaveInstanceState(Bundle savedInstanceState){
savedInstanceState.putString("abegtim", date2string("yyyy-MM-dd HH:mm:ss",abegtim));
Log.e("savedinst B4 abegtim " + abegtim," ");
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState){
String strabegtim = " ";
strabegtim = savedInstanceState.getString("abegtim", strabegtim);
abegtim = string2date("yyyy-MM-dd HH:mm:ss",strabegtim);
Log.e("savedinst AFTR abegtim " + abegtim," ");
}
E/savedinst B4 abegtim週二11月22日8時20分一十六秒PST 2016年
E/savedinst AFTR abegtim週二11月22日八時20分36秒的PST 2016年
感謝。 「putDate」中的哪個數據類型和:getDate「for onSavedInstance」將允許我放置/保存時間戳? –
我想我明白了。我可以使用putSerializable() getSerializable()來放置/獲取日期。謝謝。 –
我用你的方法。它修復了它。謝謝。 –