什么是活动和手动添加一个活动
一、什么是活动(Activity)
活动是 Android 应用中包含用户界面的组件,主要用于和用户进行交互。
| 要点 | 说明 |
|---|---|
| 核心职责 | 承载 UI 界面,处理用户交互(点击、输入等) |
| 数量 | 一个应用可以包含零个或多个活动(没有活动也能运行,比如纯后台服务应用) |
| 本质 | 每个活动都对应一个全屏窗口或一个界面 |
二、手动创建活动(不依赖模板)
1. 创建项目
- 新建项目,命名为 ActivityDemo
- 模板选择 Add No Activity(不自动生成任何活动)
- 项目路径不能包含中文
- 创建过程需要联网(下载 Gradle 依赖)

如果未联网,会出现以下错误:
Gradle 'ActivityDemo' project refresh failed Error:Cause: dl.google.comCode language: JavaScript (javascript)未加载 Gradle 时,项目不会自动分包,也无法正常添加活动。
2. 创建活动类
右键 java/cn.bamn.www.activitydemo/ → New → Java Class


命名为 FirstActivity,继承 AppCompatActivity:
package cn.bamn.www.activitydemo;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class FirstActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}Code language: JavaScript (javascript)
三、创建布局文件
1. 新建布局
右键 res/layout → New → Layout Resource File

| 参数 | 值 |
|---|---|
| File name | first_layout |
| Root element | LinearLayout |

2. 编写布局代码
打开 first_layout.xml,添加一个按钮:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="加入FoxDevelop" />
</LinearLayout>Code language: HTML, XML (xml)
3. 关键属性解析
| 属性 | 说明 |
|---|---|
android:id="@+id/button" | 为按钮定义唯一 ID。+ 表示在当前 XML 中新定义这个 ID,不是从已有资源中引用 |
android:layout_width="match_parent" | 宽度填满父容器 |
android:layout_height="wrap_content" | 高度根据内容自适应 |
android:text | 按钮上显示的文本 |
+idvs 无+:
@+id/xxx→ 新定义一个 ID(首次创建时用)@id/xxx→ 引用已有 ID(如布局间引用)
四、活动中加载布局
回到 FirstActivity,在 onCreate() 中调用 setContentView():

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);
}Code language: CSS (css)
| 代码 | 作用 |
|---|---|
setContentView() | 将 XML 布局文件与活动绑定 |
R.layout.first_layout | 引用 res/layout/first_layout.xml 布局 |
五、在 AndroidManifest.xml 中注册活动
打开 AndroidManifest.xml,在 <application> 标签内注册:
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>Code language: HTML, XML (xml)
| 配置 | 作用 |
|---|---|
android:name=".FirstActivity" | 注册活动(. 代表当前包名) |
MAIN + LAUNCHER | 设为启动入口,点击图标时首先打开 |
未注册的活动无法使用,系统会报
ActivityNotFoundException。