学习目标

能说出Activity的作用

会基于模板创建Activity

会在项目清单文件里注册Activity

会在项目清单文件里设置启动Activity

Android 当前activity android的activity_学习

在这里插入图片描述

一、Activity简介

官方文档网址:https://developer.android.google.cn/guide/components/activities/intro-activities

Android 当前activity android的activity_android studio_02

Activity是安卓四大核心组件之一,主要功能是提供界面,与用户进行交互。
一个程序一般由多个Activity组成,各个activity之间关系很松散,它们之间没有直接的关联。必须有一个activity被指定为主activity,它是程序启动时首先显示的界面。每个activity都可以随意启动其它的activity。每当一个activity被启动,则前一个activity就被停止。一个程序中的所有启动的activity都被放在一个栈中,所以被停止的activity并没有销毁,而在存于棧中。新启动的activity先被存放于栈中,然后获得输入焦点。在当前活动的activity上点返回键,它被从棧中取出,然后销毁,然后上一个activity被恢复。
当一个activity因为新的activity启动而被停止时,它会收到状态变化的通知,这样的变化有多个,每个都会引起系统调用一个相应的回调方法以通知activity,这些回调方法被统称为“生命周期回调方法”。这些回调方法分别在Activity被创建、停止、恢复、销毁时被调用。

二、创建自定义Activity

创建安卓应用【ActivityOverview】

Android 当前activity android的activity_清单文件_03

1、基于普通类继承AppCompatActivity来创建

新建一个普通的Java类

Android 当前activity android的activity_清单文件_04

输入类名

Android 当前activity android的activity_学习_05

给类添加文档注释

Android 当前activity android的activity_android_06

创建布局文件activity_login供LoginActivity作为用户界面

Android 当前activity android的activity_学习_07

设置布局文件名 - activity_login

Android 当前activity android的activity_android_08


Android 当前activity android的activity_android_09

切换到Code视图

Android 当前activity android的activity_android studio_10

设置线性布局属性,添加一个标签,设置属性

Android 当前activity android的activity_android studio_11

修改LoginActivity,继承AppCompatActivity

Android 当前activity android的activity_android_12

创建回调方法onCreate(),利用布局资源文件设置用户界面

Android 当前activity android的activity_android studio_13

2、基于Android Studio的Activity模板来创建

基于Empty Activity模板创建自定义Activity

Android 当前activity android的activity_学习_14

配置Activity信息

Android 当前activity android的activity_android studio_15


Android 当前activity android的activity_学习_16

在布局文件里添加一个标签控件

Android 当前activity android的activity_清单文件_17

三、注册自定义Activity

1、查看项目清单文件

Android 当前activity android的activity_android studio_18

只有自己继承AppCompatActivity创建的自定义Activity,才需要在项目清单文件里注册。刚才我们创建的LoginActivity就需要我们自己在项目清单文件里注册,而基于模板创建的RegisterActivity,系统已经帮我们注册好了。

2、注册LoginActivity

Android 当前activity android的activity_Android 当前activity_19

可以设置LoginActivity的属性

Android 当前activity android的activity_android_20

在字符串资源文件strings.xml里定义login变量

Android 当前activity android的activity_android_21

再查看项目清单文件

Android 当前activity android的activity_学习_22

启动应用,查看效果

Android 当前activity android的activity_学习_23

看到的是MainActivity窗口,如果想启动应用时首先看到的是LoginActivity窗口,那么就要在项目清单文件里将LoginActivity设置为启动Activity(Launcher Activity)。

四、设置启动Activity

通过添加意图过滤器来设置启动Activity

Android 当前activity android的activity_android_24

1、将LoginActivity设置为启动Activity

设置意图过滤器

Android 当前activity android的activity_清单文件_25

启动应用,查看效果
在这里插入图片描述

2、将RegisterActivity设置为启动Activity

设置意图过滤器

Android 当前activity android的activity_Android 当前activity_26

启动应用,查看效果

Android 当前activity android的activity_android_27