当前课程知识点:Android应用开发基础 > 第二章 Android视图 > 2.1 Activity概述 > 2.1 Activity概述
本节我们主要介绍Activity视图的主要原理
主要包括下面三方面的内容
1 Activity生命周期
了解Activity生命周期流程
以及状态转换过程
2 Activity跳转
了解Activity之间的隐式跳转
和显示跳转的使用方法
3 Dialog的实现
了解Dialog的配置方法以及实现流程
Activity是Android四大组件之一
又称为视图或者活动
应用程序通过视图将界面展现给用户
每一个视图通过继承系统的子类来实现
大多数应用由多个Activity组成
Activity之间可以跳转
Activity继承了系统的AppCompatActivity类
AppCompatActivity类定义了共用的接口方法
这些接口方法都可以在子类中重载
下面我们介绍一下
Activity视图类的重载方法和意义
1 onCreate方法
在视图第一次启动时调用
完成活动初始化工作
2 onStart方法
触发此方法将活动展现给用户
3 onResume方法
当一个活动即将失去焦点时
触发该方法
4 onPause方法
当活动转入后台运行触发该方法
需要将活动的状态和数据进行保存
5 onStop方法
当一个活动不再需要展示触发该方法
在内存紧张的时候
系统会直接结束活动
6 onDestroy
当活动销毁的时候
触发该方法
下面
我们介绍Android生命周期流程图和状态图
Activity主要有如下的四种状态
通过调用Activity的内部方法来进行转换
1 Running 也是运行
视图在屏幕前台
位于当前任务堆栈的顶部
2 Paused 暂停
视图失去焦点
但仍然对用户可见
Activity没有完全被遮挡
3 Stopped 停止
完全被另一个视图覆盖
4 Destroyed 销毁
Activity完全被销毁的时候启用
下面我们以一个实例
来实例查看Activity生命周期运行的全流程
1 在MainActivity类中
定义一个私有的字符变量TAG
2 MainActivity中重写onCreate初始化方法
3 通过调用getLocalClassName系统函数
将当前类的全名赋值给TAG
4 在onCreate函数结尾时
使用 Log.d打上标签
5 依次重写AppCompatActivity的接口方法
onResume
onPause
onStart
onStop
onRestart
onDestroy
并在函数结尾使用Log.d打上标签
下面我们通过实例
查看生命周期运行的全流程
1 视图启动过程中会依次运行
onCreate->onStart->onResume
2 点击Home键
视图失去焦点
依次会运行
onPause->onSaveInstanceState->onStop
3 重新运行视图
视图回到前台
依次运行
onRestart->onStart->onResume
4 关闭视图
依次运行
onPause->onSaveInstanceState->
onStop->onDestroy
下面介绍Activity跳转
跳转的例子如下图
在第一个Activity中
单击启动第二个Activity
程序跳转到第二个Activity
1 在上一个MainActivity视图的基础上
再新建一个SecondActivity类
2 在菜单栏File->New->Activity中
新建一个Empty Activity
并命名为SecondActivity
3 根据效果图分别完成第一个Activity
和第二个Activity的布局
在菜单栏选择File->Setting->Plugins
安装LayoutCreator插件
在这个安装过程中
可以通过在线搜索安装和磁盘安装
安装成功后进入MainActivity类
在onCreate初始化函数中
选择布局文件->右键Generate->
选择LayoutCreator插件
在LayoutCreator插件界面中
选择mAaBbCc
使用驼峰命名法对变量进行命名
LayoutCreator自动对组件进行了初始化
1 定义了两个文本组件和1个按钮组件
2 对两个文本组件和1个按钮组件
进行了初始化
并对按钮组件的点击响应事件进行了绑定
3 对按钮的点击事件编写代码
按钮点击后调用函数jumpToSecondActivity()
下面介绍Activity的跳转的函数
jumpToSecondActivity()
1 首先定义了一个意图
并将意图变量进行初始化
2 通过startActivity启动意图
3 在AndroidManifest.xml配置文件中
配置SecondActivity的属性
下面介绍Activity的隐式启动方法
1 首先在AndroidManifest.xml信息配置文件中
配置SecondActivity的隐式属性
在activity的属性设置中
增加
在子标签中设置SecondActivity的隐式意图
在
对SecondActivity设置一个隐式名字
在
对SecondActivity设置目录
2 Activity的隐式跳转实现如下
首先定义了一个意图
并使用SecondActivity隐式名字进行初始化
通过startActivity启动意图
隐式跳转的实现如下图
在第一个Activity中点击启动第二个Activity
程序跳转到第二个Activity
下面介绍一下Dialog透明视图的实现
在AndroidManifest.xml信息配置文件中
配置SecondActivity为对话框属性
在activity属性android:theme中
设置为@style/Theme.AppCompat.Dialog
系统对话框
下面是Dialog透明视图实例
第一个Activity启动第二个Activity
由于第二个Activity是对话框视图
启动后第一个Activity并没有失去焦点
因此
Activity执行onPause方法
没有执行onStop方法
从第二个Activity返回到第一个Activity时
由于没有执行onStop方法
只需要执行onResume方法
本节内容结束
-Android Studio4.1.2安装常用问题汇总2021.3.15
-1.1 Android概述
--1.1 Android Studio安装与配置-实践案例
-1.1 Android概述--作业
-1.2 Android程序
-1.2 Android程序--作业
-1.3 Android程序调试
-1.3 Android程序调试--作业
-2.1 Activity概述
-2.1 Activity概述--作业
-2.2 Activity应用
-第2章 Android视图--2.2 Activity应用
-3.1 Activity布局
-3.1 Activity布局--作业
-3.2 Android基础组件
-3.2 Android基础组件--作业
-3.3 Android中级组件
-3.3 Android中级组件--作业
-3.4 Android适配器
-3.4 Android适配器--作业
-4.1 Fragment碎片组件
-4.1 Fragment碎片组件--作业
-4.2 ViewPager翻页类组件
-4.2 ViewPager翻页类组件--作业
-讨论:fragment与activity的生命周期有哪些不同?
-5.1 Android广播概述
-5.1 Android广播概述--作业
-5.2 Android广播工作原理
-5.2 Android广播工作原理--作业
-5.3 自定义广播
-第5章 广播--5.3 自定义广播
-5.4 有序广播
--5.4有序广播
-第5章 广播--5.4 有序广播
-6.1 系统服务概述
-6.1 系统服务概述--作业
-6.2 访问系统服务
-6.2 访问系统服务--作业
-6.3 自定义服务
-第6章 Android服务--6.3 自定义服务
-6.4 多线程
--6.4 多线程
-第6章 Android服务--6.4 多线程
-7.1 Android运行权限
-7.1 Android运行权限--作业
-7.2 URL URI概述
-第7章 内容提供者ContentProvider--7.2 URL URI概述
-7.3 ContentProvider概述
-第7章 内容提供者ContentProvider--7.3 ContentProvider概述
-7.4 访问通讯录
-第7章 内容提供者ContentProvider--7.4 访问通讯录
-7.5 课后作业案例
-8.1 相机服务
--8.1 相机服务
-8.1 相机服务--作业
-8.2 音视频服务
-8.2 音视频服务--作业
-9.1 网络服务概述
-9.1 网络服务概述--作业
-9.2 网络框架
--9.2 网络框架
-9.2 网络框架--作业
-9.3 Json
--9.3 Json
-第9章 网络技术--9.3 Json
-9.4 Volley
-第9章 网络技术--9.4 Volley
-10.1 文件存储
--10.1.3 实践案例-SharedPreference文件读写
-10.1 文件存储--作业
-10.2 数据库存储
-10.2 数据库存储--作业
-第1章 实训简介以及开发环境配置
-第2章 在线音乐播放器整体设计以及服务端开发
-第3章 在线音乐播放器-客户端开发
-第4章 在线音乐播放器-完整版
-第5章 QQ聊天项目
-第6章 在线点餐系统