APP开发实战155-Activity数据保存和恢复
2017-02-20 22:49
211 查看
16.3 Activity数据保存和恢复
16.3.1临时保存数据和恢复
在以下场景需要临时保存当前Activity使用的一些数据:1 手机横竖屏模式切换时
2 用户点击home键,把当前界面切换到后台时
3 手机锁屏时
4 从当前Activity跳到另一个Activity,但不销毁之前的Activity时
Activity类提供了onSaveInstanceState(BundleoutState)函数保存数据,onRestoreInstanceState (BundlesavedInstanceState)函数恢复数据。
onSaveInstanceState函数使用注意事项 :
当用户点击返回按钮、返回键或者调用了finish() 方法退出Activity时,不会调用该方法。
该函数一定是在onStop方法之前调用,但是不确定是在onPause方法之前还是之后调用。
对于定义了id的视图控件,在调用onSaveInstance函数的时候,会自动保存视图控件的状态。
在Android源码中,有如下说明:
onRestoreInstanceState函数在onStart函数之后,onResume函数之前被调用。
16.3.2持久保存数据和恢复
用户点击屏幕左上角的返回按钮或点击返回键完全退出Activity的时候,有时需要持久保存数据;为了改善用户体验,最好先显示提示框,提醒用户是否要保存当前界面数据,用户选择是,再执行保存数据的代码。
点击返回按钮时,代码如下:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
final int id = item.getItemId();
if (android.R.id.home == id) {
isSaveData();
return true;
}
return super.onOptionsItemSelected(item);
}
点击返回按键时,代码如下:
@Override
public void onBackPressed(){
isSaveData();
}
相关文章推荐
- APP开发实战62-Activity数据保存和恢复
- APP开发实战63-Activity数据传递媒介
- Android开发之保存和恢复Activity的状态与数据
- APP开发实战64-Activity数据传递机制
- android笔记--保存和恢复activity的状态数据
- onSaveinstancestate 保存和恢复activity的状态数据
- android笔记--保存和恢复activity的状态数据
- android笔记--保存和恢复activity的状态数据
- 安卓性能优化之Activity和Fragment通过onSaveInstanceState()保存和恢复数据
- Android开发中Activity状态的保存与恢复
- Activity 通过 Fragment保存大块数据的一种方法。摘自android开发官网 3ff8
- Knockoutjs实战开发:JSON数据的加载和保存(Loading and Saving JSON data)
- android开发实战系列(09)-- 暂停和恢复Activity
- 异常情况下Activity数据的保存和恢复
- android笔记--保存和恢复activity的状态数据
- 【万里征程——Windows App开发】如何保存、读取、删除应用数据
- Android保存和恢复activity状态数据
- 保存和恢复activity的状态数据
- android保存和恢复activity的状态数据
- android笔记--保存和恢复activity的状态数据