文章目录

  • 一、导读
  • 二、Activity简述
  • 三、创建自定义Activity
  • 1、基于普通类创建自定义Activity
  • 2、基于模板来创建自定义Activity
  • 四、注册自定义Activity
  • 1、查看项目清单文件
  • 2、注册LoginActivity
  • 五、设置启动Activity
  • 1、设置启动Activity的方法
  • 2、将LoginActivity设置为启动Activity
  • 3、将RegisterActivity设置为启动Activity
  • 六、总结


一、导读

  • Activity是安卓四大核心组件之一,主要功能是提供界面,与用户进行交互。一个安卓应用至少有一个Activity,当然允许有多个Activity,不同的Activity可以设计不同的功能。

二、Activity简述

  • Activity 类是 Android 应用的关键组件,而 Activity 的启动和组合方式则是该平台应用模型的基本组成部分。在编程范式中,应用是通过 main() 方法启动的,而 Android 系统与此不同,它会调用与其生命周期特定阶段相对应的特定回调方法来启动 Activity 实例中的代码。
  • Activity 提供窗口供应用在其中绘制界面。此窗口通常会填满屏幕,但也可能比屏幕小,并浮动在其他窗口上面。通常,一个 Activity 实现应用中的一个屏幕。例如,应用中的一个 Activity 实现“偏好设置”屏幕,而另一个 Activity 实现“选择照片”屏幕。
  • 虽然应用中的各个 Activity 协同工作形成统一的用户体验,但每个 Activity 与其他 Activity 之间只存在松散的关联,应用内不同 Activity 之间的依赖关系通常很小。事实上,Activity 经常会启动属于其他应用的 Activity。例如,浏览器应用可能会启动社交媒体应用的“分享”Activity。
  • 要在应用中使用 Activity,您必须在应用的清单中注册关于 Activity 的信息,并且必须适当地管理 Activity 的生命周期。本文的后续内容将介绍这些主题。
  • (来自开发安卓文档https://developer.android.google.cn/guide/components/activities/intro-activities#tcoa

三、创建自定义Activity

  • 基于Empty Activity创建安卓应用Demo2_1

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

  • com.example.demo2_1包里新建一个普通Java类,输入类名LoginActivity
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android


  • Android 如何打开一个没有主activity的应用 安卓 主activity_android studio_02


  • res/layout目录里创建布局文件activity_login供LoginActivity作为用户界面
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android_03


  • 设置布局文件名 activity_login,点击Finish

Android 如何打开一个没有主activity的应用 安卓 主activity_android studio_04

  • 切换到Code视图,设置线性布局gravity和orientation属性,并且添加一个标签,设置相关属性
  • Android 如何打开一个没有主activity的应用 安卓 主activity_清单文件_05


  • 找到之前创建的LoginActivity,继承AppCompatActivity
  • Android 如何打开一个没有主activity的应用 安卓 主activity_清单文件_06


  • 创建回调方法onCreate(),利用布局资源文件设置用户界面
  • Android 如何打开一个没有主activity的应用 安卓 主activity_清单文件_07


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

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

  • 基于Empty Activity模板创建自定义Activity
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android studio_08


  • 配置Activity信息,点击Finish
  • Android 如何打开一个没有主activity的应用 安卓 主activity_ide_09


  • 完成创建
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android_10


  • 最后去修改布局文件,改成线性布局,设置gravity和orientation属性,添加一个标签控件,并设置相关属性。
四、注册自定义Activity

1、查看项目清单文件

  • 点开AndroidManifest.xml文件
  • 只有自己继承AppCompatActivity创建的自定义Activity,才需要在项目清单文件里注册。刚才我们创建的LoginActivity就需要我们自己在项目清单文件里注册,而基于模板创建的RegisterActivity,系统已经帮我们注册好了。
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android_11


2、注册LoginActivity

  • 在==元素里添加一个元素,注册LoginActivity==
  • Android 如何打开一个没有主activity的应用 安卓 主activity_ide_12


  • 可以设置LoginActivity和RegisterActivyt的label属性,然后在字符串资源文件strings.xml里定义login和register变量,修改app_name变量值
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android studio_13


  • 启动应用查看效果
  • Android 如何打开一个没有主activity的应用 安卓 主activity_清单文件_14


五、设置启动Activity

1、设置启动Activity的方法

  • 在元素里添加意图过滤器来设置启动Activity
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android_15


2、将LoginActivity设置为启动Activity

  • LoginActivity设置意图过滤器,对于启动Activity,exported必须为true
  • Android 如何打开一个没有主activity的应用 安卓 主activity_自定义_16


  • 重启应用查看效果
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android_17


3、将RegisterActivity设置为启动Activity

  • 同样的步骤,给RegisterActivyt设置意图过滤器
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android studio_18


  • 重启应用查看效果
  • Android 如何打开一个没有主activity的应用 安卓 主activity_android studio_19


六、总结
  • 了解activity作用,如何使用两种方法创建activity
  • 熟悉如何启动activity