activity状态的保存和恢复
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状态的保存和恢复相关推荐
- 前端:JS/38/canvas状态的保存和恢复(canvas常用状态大全),canvas画布中图像的变形
canvas状态的保存和恢复 Saving and restoring state 在了解变形之前,我先介绍两个在你开始绘制复杂图形时必不可少的方法. canvas.save() 保存画布(canva ...
- canvas save()和canvas restore()状态的保存和恢复使用方法及实例
canvas.save()用来保存先前状态的 canvas.restore()用来恢复之前保存的状态 注:两种方法必须搭配使用,否则没有效果 <!DOCTYPE html> <htm ...
- 【Android进阶】4、用 ViewModel 和 onSaveInstanceState 实现旋转屏幕时 UI 状态的保存和恢复
文章目录 4.1 添加ViewModel 4.1.1 ViewModel生命周期和ViewModelProvider 4.1.2 向ViewModel添加数据 4.2 进程销毁时保存数据 4.2.1 ...
- 安卓自定义View的状态保存与恢复
安卓自定义View的状态保存与恢复 我们在开发某些安卓应用(如安卓小游戏)时,可能会用到自定义View,这时候往往需要保存自定义View的状态信息,以便在遇到某些情况(如由于系统内存资源紧张被系统杀死 ...
- Android Fragment使用(三) Activity, Fragment, WebView的状态保存和恢复
Android中的状态保存和恢复 Android中的状态保存和恢复, 包括Activity和Fragment以及其中View的状态处理. Activity的状态除了其中的View和Fragment的状 ...
- 模拟Android内存不足 activity回收 值保存 状态恢复
作者简介 微信公众号(高质量文章推送):陈博易 作者:陈博易 声明:本文是个人原创,未经允许请勿转载 商业合作请在微信公众号回复:联系方式 **## 前言 1.我记得我实习的那会,面试官问我关于aci ...
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38297083 一. 相关方法简介 1. 状态保存方法示例 p ...
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState參数解析
作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38297083 一. 相关方法简单介绍 1. 状态保存方法演示 ...
- android 自动恢复,Android的状态保存和恢复
Activity的状态保存和恢复 Activity的状态什么时候需要保存和恢复 Activity的销毁一般分为两种情况: 当用户按返回按钮或你的Activity通过调用finish()销毁时,这属于正 ...
最新文章
- 使用 pv 命令监控 linux 命令的执行进度
- python ui自动化配置文件,Python+Selenium进行UI自动化测试项目中,常用的小技巧2:读取配置文件(configparser,.ini文件)...
- 8个实用而有趣Bash命令提示行
- idea 配置jdk版本_JDK 11 安装过程(同时已安装了JDK 8)以及Intellij IDEA 配置
- 【CodeForces - 202A】LLPS (思维,字符串)
- html选择器是什么,CSS3选择器是什么?
- VMWare 修改虚拟机的swap文件
- 《BackTrack 5 Cookbook中文版——渗透测试实用技巧荟萃》—第1章1.3节安装BackTrack到USB驱动器...
- 【nodejs原理源码赏析(4)】深度剖析cluster模块源码与node.js多线程(上)
- RHEL6 kernel bug在hadoop上的测试
- python中tile的用法_Python:numpy中的tile函数
- 计算机管理格式化没有顺利完成,tf卡无法格式化的解决方法
- 计算机不能再U盘新建文件夹,如何让你的U盘永不中毒?新建一个文件夹就搞定!-u盘文件夹变成exe...
- 揭秘Facebook北极圈数据中心 日处理45亿赞
- 郑州财经学院第54次全国计算机,郑州财经学院第二期教师博士班开班
- 微信服务器接口配置程序
- 计算机在辅助设计中的应用,计算机辅助设计在艺术设计中的应用
- Centos 8 常用指令汇总
- 金山手机毒霸工作原理
- 电脑开机时嘀嘀嘀声音代表含义
热门文章
- 电脑脱机状态怎么解除_win7系统如何解除脱机工作 win7系统解除脱机工作步骤【介绍】...
- 数据库oracle有哪些函数,Oracle函数大全
- jar k8s 自己的 部署_怎样部署K8S服务器
- c++优先队列小节(常常弄混)
- Python爬虫之(八)数据提取-Beautiful Soup
- python将jwths256加密——pyjwt库
- neo4j︱neo4j批量导入neo4j-import (五)
- 好程序员web前端干货之web前端开发框架汇总
- Django数据库连接丢失问题
- Swift基础语法学习-4.Bool类型