Activity 概述

发布于:2022-12-07 ⋅ 阅读:(253) ⋅ 点赞:(0)

一、Activity简介

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

二、创建自定义Activity

  • 基于Empty Activity创建安卓应用Demo2_1
    在这里插入图片描述

1、基于普通类创建自定义Activity

  • net.xyx.demo2_1包里新建一个普通Java类
    在这里插入图片描述

  • 输入类名LoginActivity

  • 给类添加文档注释
    在这里插入图片描述

  • res/layout目录里创建布局文件activity_login供LoginActivity作为用户界面
    在这里插入图片描述

  • 设置布局文件名 - activity_login
    在这里插入图片描述

  • 单击【Finish】按钮
    在这里插入图片描述

  • 切换到Code视图
    在这里插入图片描述

  • 设置线性布局gravity和orientation属性,并且添加一个标签,设置相关属性
    在这里插入图片描述

  • 修改LoginActivity,继承AppCompatActivity
    在这里插入图片描述

  • 创建回调方法onCreate(),利用布局资源文件设置用户界面
    在这里插入图片描述

  • 现在启动应用,我们看到的是MainActivity界面,后面我们将LoginActivity设置为启动Activity,重启应用,我们就可以看到LoginActivity界面了。

2、基于模板来创建自定义Activity

  • 基于Empty Activity模板创建自定义Activity
    在这里插入图片描述

  • 配置Activity信息
    在这里插入图片描述

  • 单击【Finish】按钮
    在这里插入图片描述

  • 改成线性布局,设置gravity和orientation属性,添加一个标签控件,并设置相关属性
    在这里插入图片描述
    在这里插入图片描述

三、注册自定义Activity

1、查看项目清单文件

  • 点开AndroidManifest.xml文件
    在这里插入图片描述
  • 只有自己继承AppCompatActivity创建的自定义Activity,才需要在项目清单文件里注册。刚才我们创建的LoginActivity就需要我们自己在项目清单文件里注册,而基于模板创建的RegisterActivity,系统已经帮我们注册好了。

2、注册LoginActivity

  • <application>元素里添加一个<activity>元素,注册LoginActivity
    在这里插入图片描述
  • 可以设置LoginActivity和RegisterActivyt的label属性
    在这里插入图片描述
  • 在字符串资源文件strings.xml里定义loginregister变量,修改app_name变量值
    在这里插入图片描述
  • 再查看安卓项目清单文件
  • 启动应用,查看效果
    在这里插入图片描述
  • 看到的是MainActivity窗口,如果想启动应用时首先看到的是LoginActivity窗口,那么就要在项目清单文件里将LoginActivity设置为启动Activity(Launcher Activity)。

四、设置启动Activity

1、设置启动Activity的方法

  • <activity>元素里添加意图过滤器来设置启动Activity
    在这里插入图片描述

2、将LoginActivity设置为启动Activity

  • 给LoginActivity设置意图过滤器
    在这里插入图片描述
  • 启动应用,查看效果
    在这里插入图片描述

3、将RegisterActivity设置为启动Activity

  • 给RegisterActivyt设置意图过滤器
    在这里插入图片描述
  • 启动应用,查看效果
    在这里插入图片描述

网站公告

今日签到

点亮在社区的每一天
去签到