activity状态的保存和恢复

一、简介

1、保存activity状态

* 保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态

* 没有ID的组件或者变量的状态的保存就需要我们重写这个方法
* 这个方法是在activity被回收或者被销毁的时候保存的,比如横竖屏幕的切换等等

2、恢复activity状态

* 恢复activity状态
* onRestoreInstanceState方法会自动恢复有ID的或者说之前onSaveInstanceState保存的状态
* 我们自己重写的保存内容要我们自己恢复
* 这个方法在页面创建的时候自动运行
* 所以自然也可以把恢复状态的代码写在onCreate方法里面

二、代码实例

activity.MainActivity

 1 package activity;
 2
 3
 4
 5
 6 import com.example.activityStatus.R;
 7
 8 import android.app.Activity;
 9 import android.content.Intent;
10 import android.os.Bundle;
11 import android.util.Log;
12 import android.view.View;
13 import android.view.View.OnClickListener;
14 import android.widget.Button;
15 import android.widget.Toast;
16
17
18
19 public class MainActivity extends Activity{
20     private String str="我是状态信息";
21     private Button btn_openActivty;//创建一个button对象
22      protected void onCreate(Bundle savedInstanceState) {
23             super.onCreate(savedInstanceState);//父类操作
24             setContentView(R.layout.activity_main);//引入名为activity_main的界面
25             btn_openActivty=(Button) findViewById(R.id.btn_openActivity);//找id为btn_openActivity的button
26             btn_openActivty.setOnClickListener(new OnClickListener() {//设置button点击监听
27
28                 @Override
29                 public void onClick(View v) {//onclick事件
30                     // TODO Auto-generated method stub
31                     Intent intent=new Intent();//初始化intent
32                     intent.setClass(MainActivity.this,Activity01.class);//连接
33                     startActivity(intent);//打开activity
34                 }
35             });
36         }
37
38      //保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态
39      /*
40       * 保存activity状态,onSaveInstanceState这个方法会自动保存有ID的组件的状态
41       * 没有ID的组件或者变量的状态的保存就需要我们重写这个方法
42       * 这个方法是在activity被回收或者被销毁的时候保存的,比如横竖屏幕的切换等等
43       * (non-Javadoc)
44       * @see android.app.Activity#onSaveInstanceState(android.os.Bundle)
45       */
46      @Override
47     protected void onSaveInstanceState(Bundle outState) {
48         // TODO Auto-generated method stub
49         outState.putString("str", str);
50         super.onSaveInstanceState(outState);
51         Toast.makeText(this, "onSaveInstanceState", Toast.LENGTH_SHORT).show();
52         Log.d("MainActivity", "onSaveInstanceState");
53     }
54
55      /*
56       * 恢复activity状态
57       * onRestoreInstanceState方法会自动恢复有ID的或者说之前onSaveInstanceState保存的状态
58       * 我们自己重写的保存内容要我们自己恢复
59       * 这个方法在页面创建的时候自动运行
60       * 所以自然也可以把恢复状态的代码写在onCreate方法里面
61       *
62       * (non-Javadoc)
63       * @see android.app.Activity#onRestoreInstanceState(android.os.Bundle)
64       */
65     @Override
66     protected void onRestoreInstanceState(Bundle savedInstanceState) {
67         // TODO Auto-generated method stub
68         super.onRestoreInstanceState(savedInstanceState);
69         if(savedInstanceState==null) return;
70         String str=savedInstanceState.getString("str");
71         Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
72         Log.d("MainActivity", str);
73     }
74 }

转载于:https://www.cnblogs.com/Renyi-Fan/p/7272579.html

activity状态的保存和恢复相关推荐

  1. 前端:JS/38/canvas状态的保存和恢复(canvas常用状态大全),canvas画布中图像的变形

    canvas状态的保存和恢复 Saving and restoring state 在了解变形之前,我先介绍两个在你开始绘制复杂图形时必不可少的方法. canvas.save() 保存画布(canva ...

  2. canvas save()和canvas restore()状态的保存和恢复使用方法及实例

    canvas.save()用来保存先前状态的 canvas.restore()用来恢复之前保存的状态 注:两种方法必须搭配使用,否则没有效果 <!DOCTYPE html> <htm ...

  3. 【Android进阶】4、用 ViewModel 和 onSaveInstanceState 实现旋转屏幕时 UI 状态的保存和恢复

    文章目录 4.1 添加ViewModel 4.1.1 ViewModel生命周期和ViewModelProvider 4.1.2 向ViewModel添加数据 4.2 进程销毁时保存数据 4.2.1 ...

  4. 安卓自定义View的状态保存与恢复

    安卓自定义View的状态保存与恢复 我们在开发某些安卓应用(如安卓小游戏)时,可能会用到自定义View,这时候往往需要保存自定义View的状态信息,以便在遇到某些情况(如由于系统内存资源紧张被系统杀死 ...

  5. Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复

    Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...

  6. 模拟Android内存不足 activity回收 值保存 状态恢复

    作者简介 微信公众号(高质量文章推送):陈博易 作者:陈博易 声明:本文是个人原创,未经允许请勿转载 商业合作请在微信公众号回复:联系方式 **## 前言 1.我记得我实习的那会,面试官问我关于aci ...

  7. 【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析

    作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38297083 一. 相关方法简介 1. 状态保存方法示例 p ...

  8. 【Android 应用开发】Activity 状态保存 OnSaveInstanceState參数解析

    作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38297083 一. 相关方法简单介绍 1. 状态保存方法演示 ...

  9. android 自动恢复,Android的状态保存和恢复

    Activity的状态保存和恢复 Activity的状态什么时候需要保存和恢复 Activity的销毁一般分为两种情况: 当用户按返回按钮或你的Activity通过调用finish()销毁时,这属于正 ...

最新文章

  1. 使用 pv 命令监控 linux 命令的执行进度
  2. python ui自动化配置文件,Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)...
  3. 8个实用而有趣Bash命令提示行
  4. idea 配置jdk版本_JDK 11 安装过程(同时已安装了JDK 8)以及Intellij IDEA 配置
  5. 【CodeForces - 202A】LLPS (思维,字符串)
  6. html选择器是什么,CSS3选择器是什么?
  7. VMWare 修改虚拟机的swap文件
  8. 《BackTrack 5 Cookbook中文版——渗透测试实用技巧荟萃》—第1章1.3节安装BackTrack到USB驱动器...
  9. 【nodejs原理源码赏析(4)】深度剖析cluster模块源码与node.js多线程(上)
  10. RHEL6 kernel bug在hadoop上的测试
  11. python中tile的用法_Python:numpy中的tile函数
  12. 计算机管理格式化没有顺利完成,tf卡无法格式化的解决方法
  13. 计算机不能再U盘新建文件夹,如何让你的U盘永不中毒?新建一个文件夹就搞定!-u盘文件夹变成exe...
  14. 揭秘Facebook北极圈数据中心 日处理45亿赞
  15. 郑州财经学院第54次全国计算机,郑州财经学院第二期教师博士班开班
  16. 微信服务器接口配置程序
  17. 计算机在辅助设计中的应用,计算机辅助设计在艺术设计中的应用
  18. Centos 8 常用指令汇总
  19. 金山手机毒霸工作原理
  20. 电脑开机时嘀嘀嘀声音代表含义

热门文章

  1. 电脑脱机状态怎么解除_win7系统如何解除脱机工作 win7系统解除脱机工作步骤【介绍】...
  2. 数据库oracle有哪些函数,Oracle函数大全
  3. jar k8s 自己的 部署_怎样部署K8S服务器
  4. c++优先队列小节(常常弄混)
  5. Python爬虫之(八)数据提取-Beautiful Soup
  6. python将jwths256加密——pyjwt库
  7. neo4j︱neo4j批量导入neo4j-import (五)
  8. 好程序员web前端干货之web前端开发框架汇总
  9. Django数据库连接丢失问题
  10. Swift基础语法学习-4.Bool类型