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 保存和恢复实例状态的操作就基本完成了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值