`
007007jing
  • 浏览: 42929 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

android2.3 api demo 学习系列(13)--App/Activity/Save & Restore

阅读更多

    前面文章android2.3 api demo 学习系列(8)--App/Activity/Preference State已经介绍了如何保存ui的状态,本次学习的demo实现同样的功能只是实现的方法不一样。文章8中使用的是SharedPreferences和Activity的Onpause()、Onresume()方法结合使用保存ui的状态。本次使用的是onSaveInstanceState(Bundle savedBundle) 来保存ui状态。

    和Onpause()、Onresume()不同的是onSaveInstanceState不属于activity生命周期的一部分,onSaveInstanceState不一定会再Activity销毁前被调用:例如用户按返回键时onSaveInstanceState是不会被调用的,但是Onpause()、Onresume()是肯定被调用的,因为他们是activity生命周期的一部分。

onSaveInstanceState被执行的几种情形:

1、当前应用被切换到其他应用,系统根据资源配置可能需要销毁后台运行的activity时

2、系统参数的改变:屏幕方向发生改变,这个时候activity被销毁前会调用onSaveInstanceState。

onSaveInstanceState方法在activity销毁前将ui的状态数据保存在bundle中,activity可以在onCreate()以及onRestoreInstanceState()方法恢复ui状态。

注意:本次demo也许你会发现示例代码中根本没有涉及到onSaveInstanceState的任何代码,而且同样是edittext 为什么一个本保存了ui状态,另一个没有被保存?

这一因为onSaveInstanceState默认实现了对设置有id(android:id)的ui保存恢复状态。

代码没有可贴的 直接上效果图:


 

旋转屏幕就可以看到效果了~~


 

 

 

  • 大小: 45.3 KB
  • 大小: 44.2 KB
分享到:
评论

相关推荐

    git-restore-mtime.exe

    作用 设置本地所有文件的修改时间为 git最后提交时间 安装 下载并放到git.exe同目录即可 ...直接进入git工作目录,执行 git-restore-mtime 构建自 https://github.com/MestreLion/git-tools/releases/tag/v2022.12

    Android_api_demo

    ##### (14) App -> Activity -> Save & Restore State - **概述**:进一步探讨了 Activity 状态的保存与恢复。 - **技术点**: - **onSaveInstanceState**:详细介绍 onSaveInstanceState 方法的使用。 - **...

    Android_API_Demo_Clipping

    Android API Demo中的Clipping例子是一个很好的学习资源,帮助开发者深入理解如何在实际应用中使用这一功能。下面将详细解释Clipping的概念、API以及如何在代码中实现。 1. **Clipping概念**: Clipping是图形处理...

    中移动平台组VUE开发规范

    - **多词组成**:除了根组件`App`外,其他组件名称应由多个单词构成。 - **语义化**:命名应具有明确意义,易于理解。 - **前缀使用**: - **公用组件**:以公司名缩写开头,例如`AbcdDatePicker`。 - **页面...

    Doris数据备份恢复与节点扩缩容教程

    ### Doris 数据备份恢复与节点扩缩容教程 #### 一、备份与恢复 ##### 1.1 准备工作 在开始备份之前,需要确保已经正确设置了...通过以上步骤的学习和实践,用户能够更加深入地理解和掌握 Apache Doris 的高级特性。

    Semi-Restore苹果ios平刷神器---windows版本

    《Semi-Restore苹果iOS平刷神器:Windows版详解》 在苹果iOS的世界里,设备的系统恢复一直是用户关注的焦点。对于那些热衷于个性化定制和越狱的用户而言,Semi-Restore是一款不可或缺的工具。本文将详细探讨这款被...

    利用dump-restore实现备份还原

    ### 利用dump-restore实现备份还原 #### dump命令的原理、优点及限制 - **原理**:`dump` 命令主要用于 Linux 系统的文件系统备份。它的核心功能在于能够创建自上次备份以来发生更改的文件列表,并将这些文件打包...

    Terminal-Save-and-Restore:允许保存和还原终端位置,大小,当前工作目录和虚拟环境。 这对于在重新启动之间保留终端很有用

    echo "export PATH=\$PATH:~/git/Terminal-Save-and-Restore/" >> ~/.bashrc source ~/.bashrc 更新 cd ~/git/Terminal-Save-and-Restore/ git pull 用法 # Note: Leave out `--session sessionName` to use the ...

    Android canvas.save()和canvas.restore()的理解

    在提供的`CanvasDemo`示例中,可能包含了以下几个步骤来演示`save()`和`restore()`的使用: 1. 初始化一个`Canvas`对象,通常是基于一个`Bitmap`。 2. 调用`canvas.save()`保存初始状态。 3. 应用一系列变换,比如`...

    extundelete

    2. **选择恢复的文件**:根据列出的文件,选择需要恢复的文件,使用`--restore-all`恢复所有文件,或者使用`--restore-file <文件名>`恢复特定文件。 ```bash sudo extundelete --restore-all /dev/sda1 --output /...

    iOS 13 描述文件 和 真机调试包

    描述文件 只能下载 iOS 13.1 的beta版 需要13.0 的话 需要自己先升级mac 系统到10.15的beta版 再去这个地址下载手机相应的固件 https://developer.apple.com/download/#ios-restore-images-iphone-new 通过ituns ...

    使用转储热同步两个 Redis 服务器 .zip

    SCANRump 仅通过使用、DUMP和便能跨云提供商实时同步 Redis 数据库RESTORE。它在Sticker Mule中用于使暂存和开发环境与生产 AWS/GCP Redis 集群保持同步。示例# Sync local Redis DB 1 to DB 2.$ rump -from redis:/...

    android中canvas的save和restore用法

    总结来说,`save()`和`restore()`是Android `Canvas`中控制绘图状态的关键工具,它们允许开发者在执行复杂操作时保持绘图的准确性。通过熟练掌握这两个方法,你可以创建出更加灵活、富有层次感的图形界面和动画效果...

    centos源码安装php-8.1.1+phpredis-4.2.0

    sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,...

    lichee_20170502_1607_全志R16的linux系统编译需要改动的文件_使用parrotv1.1的内核_没有外层目录.7z

    -rwx------ 1 rootroot rootroot 8557328646 12月 2 16:08 android_parrotv1.1_20161202.tar.gz* drwxrwxr-x 7 rootroot rootroot 4096 12月 2 15:52 lichee/ -rwx------ 1 rootroot rootroot 2488523424 12月 2 16:...

    网站访问记录器 0.1.1 发布_数据库

    相关程序资源请在CSDN查找 如何配置: 1.安装PostgreSQL数据库,本系统使用PostgreSQL数据库 ...2. 完善DEMO网站的功能 =================================== V 0.1.0.30 1. 完成访问日志的主要功能

    网站访问记录器 0.1.1 发布_程序

    如何配置: 1.安装PostgreSQL数据库,本系统使用PostgreSQL数据库 2.将visit_logger_20091101.zip文件解压,...2. 完善DEMO网站的功能 =================================== V 0.1.0.30 1. 完成访问日志的主要功能

    save-selection

    import { save , restore } from 'save-selection' ; // will save selections in <mark> elements // with classes "selection-start" & "selection-end" save ( document . querySelector ( '#main' ) ) ; // ...

    DATAUNIT_MySQL_PAGE_RESTORE_v2.3_release_2020-03-16.zip

    支持从裸磁盘、分区、文件中搜索所有IBD page碎片。 1、输入字母a-z :搜索对应的逻辑分区A-Z。此模式请以管理员身份运行。 2、输入数字1-9 :搜索物理磁盘,对应“磁盘管理器”中的磁盘0-9。...

    Android Root工具(针对4.0/4.1的手机)

    这是我从国外网站上找到的Root 4.0/4.1手机的工具。 在我的4.0.4的机器上,通过z4...http://thenextweb.com/google/2012/09/17/this-script-lets-root-android-4-0-ice-cream-sandwich-android-4-1-jelly-bean-device/

Global site tag (gtag.js) - Google Analytics