当前课程知识点:Android应用开发基础 >  第二章 Android视图 >  2.2 Activity应用 >  2.2 Activity应用

返回《Android应用开发基础》慕课在线视频课程列表

2.2 Activity应用在线视频

下一节:2.2 实践案例-Activity四种启动模式

返回《Android应用开发基础》慕课在线视频列表

2.2 Activity应用课程教案、知识点、字幕

本节我们主要介绍Activity视图的应用

主要包括下面两方面的内容

1 Activity间的数据传递

主要了解Activity之间的

数据传递原理和使用方法

2 Activity的启动模式

了解Activity的四种启动模式

下面是Activity之间进行数据传递的一个实例

第一个Activity中输入用户名admin

并将用户名传递给第二个Activity

第二个Activity读取到

第一个Activity传递的用户名admin

第二个Activity跳转回第一个Activity

并传回参数值sziit

第一个Activity读取并显示参数值

Acitivity之间通过Intent传递数据

Intent提供了putExtra方法存储数据

通过startActivityForResult启动方法

得到返回值

下面是跳转过程中数据传递实现过程

1 使用Intent类的putExtra方法

存储键值user的数据admin

使用startActivityForResult方法

启动第二个Activity

第二个Activity返回的代码为REQUEST_CODE

2 使用重写的onActivityResult方法

接收第二个Activity的传回值

传回的数据通过Intent的

getStringExtra方法获取

并将值显示到文本控件

下面是第二个Activity接收数据的过程

1 通过键值user

使用Intent类的getStringExtra方法

获取第一个Activity的数据admin

并将值显示到第二个Activity文本控件

2 使用Intent类的putExtra方法

存储键值password的数据sziit

3 使用setResult方法

将意图传回给第一个Activity

设置标记为

Activity有四种启动模式

首先我们介绍标准模式

标准模式就是每启动一个活动

就创建一个新的实例

例子如下

AndroidManifest.xml配置信息文件中

设置Activity的启动模式为standard

点击按钮启动Activity的代码如下

每次单击启动一个新的MainActivity

标准模式下启动的实例如下图

首先启动第一个MainActivity

在第一个MainActivity中

单击启动第二个MainActivity

在第二个MainActivity中

单击启动第三个MainActivity

三个MainActivity的视图栈的关系如图所示

三个MainActivity依次入栈

先进后出

从LogCat日志中

可以看到三个MainActivity

依次启动onCreate方法

三个MainActivity依次通过Back键删除

可以看到三个MainActivity

依次启动onDestroy方法

下面介绍单栈顶模式

单栈顶模式就是如果活动在栈顶

不会再启动一个新的实例

如果不在栈顶

会启动新的实例

我们在配置信息文件中设置

Activity的启动模式为singleTop

在MainActivity增加一个

跳转到第二个SeccondActivity的按钮

每次单击跳转到SeccondActivity

在SeccondActivity中增加一个

跳转到第一个MainActivity的按钮

每次单击跳转到MainActivity

在Activity初始化的函数中

增加一个计数标签

记录是MainActivity第几次被加载

标准模式下启动的实例如下图

首先启动第一个MainActivity

在第一个MainActivity中

单击启动SeccondActivity

在SeccondActivity中

单击启动第一个MainActivity

三个Activity的视图栈的关系如图所示

三个Activity依次入栈

先进后出

从LogCat日志中可以看到

三个Activity依次启动onCreate方法

第一个MainActivity中启动MainActivity

不会生成新的实例

第二个SeccondActivity中启动MainActivity

会生成新的实例

三个Activity依次通过Back键删除

可以看到三个Activity

依次启动onDestroy方法

下面介绍单任务模式

单任务模式就是如果活动在栈内存在

不会再启动一个新的实例

如果启动就会将活动置为栈顶

在AndroidManifest.xml中

配置信息文件

设置Activity的启动模式为singleTask

在MainActivity中

增加一个跳转到第二个SeccondActivity的按钮

每次单击跳转到SeccondActivity

单任务模式下启动的实例如下图

首先启动第一个MainActivity

在第一个MainActivity中

单击启动SeccondActivity

在SeccondActivity中

单击启动第一个MainActivity

Activity的视图栈的关系如图所示

二个Activity依次入栈

先进后出

从LogCat日志中可以看到

二个Activity依次启动onCreate方法

第二个SeccondActivity中

开启第一个MainActivity

不会生成新的实例

只是执行了第一个MainActivity的

onRestart方法

下面介绍单实例模式

如果视图是单实例模式

启动视图会同时启用一个新的活动管理栈

在AndroidManifest.xml配置信息文件中

设置Activity的加载模式为singleInstance

MainActivity设置为singleTop模式

SeccondActivity设置为singleInstance模式

ThirdActivity设置为singleTask模式

在SeccondActivity增加一个跳转到

第三个ThirdActivity的按钮

每次单击跳转到ThirdActivity

在ThirdActivity中增加一个跳转到

第二个SeccondActivity的按钮

每次单击跳转到SeccondActivity

单实例模式下启动的实例如下图

依次启动MainActivity

SeccondActivity和ThirdActivity

Activity的视图栈的关系如图所示

MainActivity和ThirdActivity在一个视图栈

SeccondActivity由于是单实例模式

启动后在另外一个视图栈

从LogCat日志中可以看到

三个视图依次启动了onCreate方法

在回退过程中

ThirdActivity直接回退到MainActivity

而MainActivity回退到SeccondActivity

SeccondActivity最后销毁

好 这就是AndroidActivity的四种启动模式

本节内容结束

Android应用开发基础课程列表:

课程教案

-1 Android应用开发基础-课程标准

-2 Android应用开发基础-教案

第一章 Android概述

-讨论:Android应用开发基础资源下载地址

-讨论的问题:华为“鸿蒙系统”会取代安卓吗?

-Android Studio4.1.2安装常用问题汇总2021.3.15

-1.1 Android概述

--1.1 Android概述

--1.1 Android Studio安装与配置-实践案例

-1.1 Android概述--作业

-1.2 Android程序

--1.2 Android程序

--1.2 第一个Android应用程序-实践案例

-1.2 Android程序--作业

-1.3 Android程序调试

--1.3 Android程序调试

--1.3 Android程序调试-实践案例

-1.3 Android程序调试--作业

-讨论-完成第一个Android程序需要多长时间?

第二章 Android视图

-讨论-什么是Activity?

-2.1 Activity概述

--2.1 Activity概述

--2.1.1 实践案例-Activity生命周期

--2.1.2 实践案例-Activity跳转和数据传递

-2.1 Activity概述--作业

-2.2 Activity应用

--2.2 Activity应用

--2.2 实践案例-Activity四种启动模式

-第2章 Android视图--2.2 Activity应用

-讨论-怎么理解常用的四种启动模式?

第三章 Android组件

-讨论:Android在五个常用布局外还有哪几种布局方式?

-3.1 Activity布局

--3.1 Activity布局

--3.1 实践案例-Android布局

-3.1 Activity布局--作业

-3.2 Android基础组件

--3.2 Android基础组件

--3.2.1 实践案例-文本和按钮组件

--3.2.2 实践案例-编辑框和进度条组件

-3.2 Android基础组件--作业

-3.3 Android中级组件

--3.3 Android中级组件

--3.3.1 实践案例-复选框和开关组件

--3.3.2 实践案例-单选框和图像组件

-3.3 Android中级组件--作业

-3.4 Android适配器

--3.4.1 系统适配器

--3.4.2 自定义适配器

--3.4.1实践案例-系统适配器

--3.4.2 实践案例-自定义适配器

-3.4 Android适配器--作业

-讨论-如何解决Android的布局嵌套问题的?

第四章 Android Fragment

-讨论:Fragment的优点?

-4.1 Fragment碎片组件

--4.1.1 Fragment静态加载

--4.1.2 Fragment与Activity通讯

--4.1.3 Fragment动态加载

--4.1.1 实践案例-Fragment静态加载

--4.1.2 实践案例-Fragment的动态加载

-4.1 Fragment碎片组件--作业

-4.2 ViewPager翻页类组件

--4.2.1 ViewPager翻页类组件

--4.2.2 引导页和标题栏

--4.2 实践案例-引导页和选项卡

-4.2 ViewPager翻页类组件--作业

-讨论:fragment与activity的生命周期有哪些不同?

第五章 广播

-讨论:Android广播有什么作用?

-5.1 Android广播概述

--5.1 Android广播概述

--5.1.1 实践案例-手机电量显示

--5.1.2 实践案例-手机充电状态显示

-5.1 Android广播概述--作业

-5.2 Android广播工作原理

--5.2 Android广播工作原理

--5.2.1 实践案例-手机网络状态显示

--5.2.2 实践案例-短消息接收

-5.2 Android广播工作原理--作业

-5.3 自定义广播

--5.3 自定义广播

--5.3 实践案例-自定义广播与有序广播

-第5章 广播--5.3 自定义广播

-5.4 有序广播

--5.4有序广播

--5.4.2 实践案例-登录广播-记住密码

--5.4.2 实践案例-登录广播-强制退出

-第5章 广播--5.4 有序广播

-讨论:广播的动态注册和静态注册有什么区别?

第六章 Android服务

-讨论:Android的服务有什么作用?

-6.1 系统服务概述

--6.1 系统服务概述

-6.1 系统服务概述--作业

-6.2 访问系统服务

--6.2 访问系统服务

--6.2 实践案例-通知服务

-6.2 访问系统服务--作业

-6.3 自定义服务

--6.3 自定义服务

--6.3.1 实践案例-启动服务

--6.3.2 实践案例-绑定服务

--6.3.3 实践案例-后台服务

-第6章 Android服务--6.3 自定义服务

-6.4 多线程

--6.4 多线程

--6.4.2 实践案例-MyService下载

--6.4.3 实践案例-MyIntentService

--6.4.4 实践案例-AsyncTask实现对话框下载

--6.4.5 实践案例-下载精灵

-第6章 Android服务--6.4 多线程

-讨论:Android中怎么启动Service?

第七章 内容提供者ContentProvider

-讨论:ContentProvide的作用是什么?

-7.1 Android运行权限

--7.1 Android运行权限

--7.1 实践案例-拨打电话与发送短信

-7.1 Android运行权限--作业

-7.2 URL URI概述

--7.2 URL URI概述

-第7章 内容提供者ContentProvider--7.2 URL URI概述

-7.3 ContentProvider概述

--7.3 ContentProvider概述

--7.3 实践案例-读取联系人

-第7章 内容提供者ContentProvider--7.3 ContentProvider概述

-7.4 访问通讯录

--7.4 访问通讯录

--7.4.1 实践案例-读取通讯录

--7.4.2 实践案例-添加通讯录

--7.4.3 实践案例-删除更改通讯录

-第7章 内容提供者ContentProvider--7.4 访问通讯录

-7.5 课后作业案例

--7.5.1 实践案例-文件管理器-查看

--7.5.2 实践案例-文件管理器-播放

-讨论:ContentProvide如何使用?

第八章 多媒体

-讨论:Android多媒体主要应用于哪些场景?

-8.1 相机服务

--8.1 相机服务

--8.1.1实践案例-拍照服务

--8.1.2 实践案例-相册服务

-8.1 相机服务--作业

-8.2 音视频服务

--8.2 音视频服务

--8.2.1实践案例-音乐播放

--8.2.2 实践案例-视频播放

-8.2 音视频服务--作业

-讨论:Android视频组件的使用流程?

第九章 网络技术

-讨论:为什么使用Json作为网络的通讯格式?

-9.1 网络服务概述

--9.1 网络服务概述

--9.1 实践案例-WebView和Http服务

-9.1 网络服务概述--作业

-9.2 网络框架

--9.2 网络框架

--9.2 实践案例-okhttp框架

-9.2 网络框架--作业

-9.3 Json

--9.3 Json

--9.3 实践案例-json协议

-第9章 网络技术--9.3 Json

-9.4 Volley

--9.4 volley

--9.4 实践案例-volley框架

-第9章 网络技术--9.4 Volley

-讨论:OkHttp和Volley的有什么区别?

第十章 数据存储

-讨论:Android的存储方式有哪几种?

-10.1 文件存储

--10.1 文件存储

--10.1.1 实践案例-文件读写布局

--10.1.2 实践案例-文件读写

--10.1.3 实践案例-SharedPreference文件读写

-10.1 文件存储--作业

-10.2 数据库存储

--10.2 数据库存储

--10.2.1 实践案例-Sqlite数据库操作布局

--10.2.2 实践案例-Sqlite数据库操作

-10.2 数据库存储--作业

-讨论:SQLite的基础操作的流程是什么?

课程实训(不计入考核)

-第1章 实训简介以及开发环境配置

--实训项目简介PPT以及实训指导书

--1.1 实训项目简介

--1.2 项目开发环境配置

-第2章 在线音乐播放器整体设计以及服务端开发

--在线音乐播放器整体介绍PPT以及服务端开发实训指导书

--2.1 在线音乐播放器-整体设计

--2.2 在线音乐播放器-服务端开发

-第3章 在线音乐播放器-客户端开发

--3.1 客服端开发实训指导书以及PPT

--3.2 客户端开发-讲课视频

-第4章 在线音乐播放器-完整版

--4.1 实训指导书以及PPT

--4.2 在线音乐播放器-完整版授课视频

-第5章 QQ聊天项目

--5.1 实训指导书以及PPT

--5.2 QQ聊天项目授课视频

-第6章 在线点餐系统

--6.1 实训指导书以及PPT

--6.2 在线点餐系统授课视频

2.2 Activity应用笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。