安卓-活动页面Activity
Activity(页面)是一个应用程序组件,提供一个屏幕用于交互,所有的任务都是在Activity上完成的,主Activity在AndroidManifest.xml里是这样出现的:
1 | <activity |
创建新的Activity
完整的Activity创建包括三个步骤:
- 在Layout目录下创建xml文件
- 创建与xml文件对应的java代码
- 在AndroidManifest.xml中注册页面配置
但实际上,在现在的Android Studio中,只需要右键项目软件包,然后选择”新建“-”Activity”-“Empty Views Activity”就可以了,Android Studio会做好一切的
活动页面显示与逻辑处理
Android应用利用XML标记和描绘应用界面,并使用Java(Kotlin)代码编写程序逻辑
对于任意一个Activity.java,都有一个activity.xml与之对应
我们创建一个空的MainActivity,Android Studio也会自动生成一个activity_main.xml
Android Studio生成的xml可能是这样的:
1 |
|
当然,我们可以删除它提供的布局,并自己定义布局(以线性布局为例)
1 |
|
需要说明的是,定义 android:text="hello world" 时,会跳出警告,这是因为在实际开发中,这种赋值类型的语句都推荐将设置的值(比如这里的text文字,也包括后文设置的Button文字)存放在 app/res/values/strings.xml 中,并使用 @string/<name> 的方式进行调用,这些值在 string.xml 中存放的形式如下:
1 | <resources> |
这个时候修改MainActivity.java,添加操作部件TextView的代码:
1 | package com.example.myapplication1; |
调试app,就能看到居中的”nihao shijie!“的字样了
总结一下:
- Activity使用activity.xml描述页面布局
- 在Activity.java中可以使用setContentView来设置显示的内容
- 可以使用findViewById寻找到需要操作的组件
Activity的启动与结束
假设我们需要使用按钮在Activity1中启动Activity2,那么我们首先要在Activity1中添加按钮:
1 | <!-- Activity_main.xml --> |
然后再去源文件Activity1.java中设置事件处理setOnClickListener(就是按下按钮后要做什么),并使用Intent(意图)对象和startActivity()方法进行跳转
1 | // MainActivity1.java |
运行测试,就能看到页面上添加的“skip to…”按钮,点击它,就能跳转到Activity2了
而如果要关闭当前页面,则需要finish()方法(这里已经在Activity2中添加了按钮并设置了点击监听):
1 | // MainActivity2.java |
Activity的生命周期
这里的 生命周期 ,指的是 Activity 从创建开始,到销毁之间的时间,及其在这段时间内进行的所有操作(比如启动另一个活动)
Activity类中有许多方法标示Activity处在生命周期的状态:
1 | public class MainActivity extends AppCompatActivity { |
各个生命周期方法的执行流程如下图:
flowchart TD
%% 定义节点
Start[Activity 启动]
Create[onCreate]
StartM[onStart]
Resume[onResume]
Running[Activity 正在运行]
Pause[onPause]
Stop[onStop]
Destroy[onDestroy]
Shutdown[Activity 已销毁]
Restart[onRestart]
Killed[进程被杀死]
%% 定义主流程
Start --> Create
Create --> StartM
StartM --> Resume
Resume --> Running
Running -->|"另一个 Activity
位于当前 Activity 之前"| Pause
%% Pause 分支
Pause -->|"Activity 不再可见"| Stop
Pause -->|"其他应用需要内存"| Killed
Pause -->|"Activity 回到前台"| Resume
%% Stop 分支
Stop --> Destroy
Stop -->|"其他应用需要内存"| Killed
Stop -->|"Activity 回到前台"| Restart
%% 其他流程
Restart --> StartM
Killed -->|"用户导航回此 Activity"| Create
Destroy --> Shutdown
%% 定义样式以匹配原图颜色
classDef blueNode fill:#87CEEB,stroke:#333,stroke-width:2px;
classDef greenNode fill:#98FB98,stroke:#333,stroke-width:2px;
classDef redNode fill:#FF7F7F,stroke:#333,stroke-width:2px;
classDef greyNode fill:#DDDDDD,stroke:#333,stroke-width:2px;
%% 应用样式
class Start blueNode;
class Running greenNode;
class Killed,Shutdown redNode;
class Create,StartM,Resume,Pause,Stop,Destroy,Restart greyNode;
- 标题: 安卓-活动页面Activity
- 作者: kk3TWT
- 创建于 : 2026-04-06 17:25:57
- 更新于 : 2026-05-04 22:47:04
- 链接: https://kk-is-very-happy.top/posts/20756fb8/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。