`
javawebsoa
  • 浏览: 417907 次
社区版块
存档分类
最新评论

Android 程式开发:(八)处理屏幕方向的变化 —— 8.1Activity状态的改变

 
阅读更多

目前看来,我们已经看到了,可以使用两种方法去适应屏幕方向的改变。现在,让我们看以下,当屏幕方向改变的时候,Activity状态的改变。

1、创建一个工程:Orientations。


2、main.xml文件。

3、OrentationsActivity.java。4、调试。

5、在两个EditText中输入一些字符。就像这样。

6、按Ctrl+F11,改变屏幕的方向。下图展示了横屏下的模拟器。注意,第一个EditText的内容仍然是存在的,但第二个EditText已经被清空了。(文章结尾会解释这是为什么)

7、观察LogCat窗口。

从LogCat窗口可以看出,当屏幕方向改变的时候,Activity被销毁了。
随之,它又被重新创建了。理解Activity的这种行为变化是很重要的,因为在屏幕方向改变之前,我们要执行一些必要的操作去保存当前activity的“状态”。例如,你的activity有一些变量,这些变量保存了一些需要被计算的值,这些值需要被保存。对任何activity而言,你都应该在onPause()方法中去保存“状态”,因为onPause()方法是在屏幕方向改变时,出现的第一个方法。接下来的几节教程,将会阐述保存“状态”的几种不同方法。


!!!

另一个需要特别注意的地方:当保存views的activity被销毁的时候,只有那些在activity中被声明的views(通过android:id属性)会保存它们自己的状态。例如,当用户在一个EditText中输入信息的时候,他可能改变屏幕的方向。这时,当activity被重新创建的时候,EditText中的信息就会自动地保存了,并重新显示在EditText中。相反,如果不使用android:id声明EditText,那么activity就不会保存EditText当前的任何内容。




分享到:
评论

相关推荐

    VM虚拟机镜像,安卓系统:android-x86-64-8.1-r6

    不用解压,可以直接安装到虚拟机里面的安卓镜像

    Android 8.1 SDK(android-27)

    2. **Android Studio集成**:Android 8.1 SDK通常与Android Studio集成,这是一个基于IntelliJ IDEA的开发环境,提供了代码编辑、构建工具、调试器、模拟器和性能分析工具等全方位的开发支持。 3. **构建工具**:...

    Android8.1-Settings-display里添加控制屏幕旋转方向的菜单.zip

    基于Android8.1,在设置-显示下添加一个控制屏幕显示方向的菜单, 包括0°、90°、180°、270°四个方向, 主要是用ListPreference实现菜单显示。 有实现的Java源码。 代码一验证有效。

    Android技术内幕.系统卷(扫描版)

    《android技术内幕:系统卷》 前言 第1章 准备工作 /1 1.1 深入认识android /2 1.1.1 android的系统构架 /2 1.1.2 android的初始化流程 /5 1.1.3 各个层次之间的相互关系 /8 1.1.4 android系统开发(移植)和应用...

    Android 8.1 Settings 源码下载

    3. **事件处理**:源码中包含了大量的OnClickListener和OnCheckedChangeListener,这些都是用来响应用户点击事件和切换状态改变的。通过观察这些回调,可以学习如何处理用户输入。 4. **Intent和BroadcastReceiver*...

    android_8.1 Settings源码

    android_8.1源码 、android go Settings谷歌原生代码。。。

    Android 系统 8.1源码

    ### Android系统8.1源码知识点解析 #### 一、Android系统概述 Android是一个基于Linux内核的操作系统,主要用于移动设备如智能手机和平板电脑。它由Google公司维护,并且是开放源代码项目(AOSP)的一部分。...

    Android-Android实现了可以滑动左侧边缘退出Activity的功能

    然后,我们可以通过改变这个View的透明度或者使用动画效果,模拟Activity从屏幕左侧滑出的效果,同时处理相应的Activity关闭逻辑。 在实现过程中,需要注意Activity的生命周期管理。当滑动操作达到触发退出的条件时...

    android 8.1 蓝牙开发 静默开启蓝牙 将蓝牙暴露给其他蓝牙设备 扫描蓝牙设备 静默配对 建联相互通信

    在Android 8.1系统中进行蓝牙开发,你需要掌握一系列的关键技术点,这些技术涵盖了蓝牙的静默开启、蓝牙设备的曝光、扫描蓝牙设备、静默配对以及建立连接进行相互通信。以下是对这些知识点的详细解释: 1. **静默...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 ...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 ...

    PDFReader

    <br>FIPS 模式——8.1 版的 Reader 提供了 FIPS 模式来限制数据保护为“联邦信息处理标准”(FIPS)140-2 批准的使用 RSABSAFE Crypto-C 2.0 加密模型协同 FIPS 140-2 验证证书 608 的算法。 Microsoft ...

    Android8.1-usb摄像头调试.pdf

    Android 8.1 USB 摄像头调试指南 Android 8.1 系统中打开 USB 摄像头需要进行多方面的配置和验证,本文将详细介绍在全志 Android 8.1 系统上打开 USB 摄像头的步骤。 一、 Kernel 配置 在 Android 8.1 系统中,...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 ...

    android_8.1 Dialer源码

    在Android 8.1系统中,Dialer是电话应用的核心组成部分,负责处理用户的通话功能。这个源码分析将深入探讨Dialer的内部机制,包括拨打、接听、挂断电话,联系人管理,以及与系统服务如通话状态监听、电话簿集成等...

    Android8.1_Launcher3.zip

    Android原生Launcher3源码的Android Studio版本,可以用AndroidStudio直接打开并开发。Android平台版本:Android8.1,AndroidStudio版本:3.3.2,注意:编译用到的com.google.protobuf编译信息不能更改,否则编译不过

    android 8.1设置添加Ethernet功能选项

    <activity android:name="Settings$EthernetSettingsActivity" android:label="@string/ethernet_settings_title" android:icon="@drawable/ic_settings_wireless" android:taskAffinity=""> <action android:...

    kettle-core-8.1.0.0-365_kettle_kettle达梦8_

    《Kettle与达梦数据库的整合:深入理解kettle-core-8.1.0.0-365_kettle_kettle达梦8_》 Kettle,也被称为Pentaho Data Integration (PDI),是一款强大的数据集成工具,它提供了一种图形化的界面,让用户能够设计、...

    Android源码——闹钟源代码.zip

    这个"Android源码——闹钟源代码.zip"文件可能包含了Android系统闹钟应用(DeskClock)的源代码,以及相关的图片资源。通过对这些源代码的学习和分析,我们可以深入了解Android系统如何实现闹钟功能。 首先,`...

    Kil库源码,经修改过,在Android8.1上编译通过

    【Kil库源码分析与Android 8.1编译实践】 Kil库是一个专为Android平台设计的开源库,经过了修改以适应Android 8.1操作系统,并且已经成功在该版本上编译通过。这个库可能包含了特定的功能或者优化,以满足开发者在...

Global site tag (gtag.js) - Google Analytics