APP是怎么运行起来的

一、从启动入口说起

任何 Android 应用的启动,都要从 AndroidManifest.xml​ 这个全局配置文件开始看。

打开 AndroidManifest.xml,找到以下代码:

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>Code language: HTML, XML (xml)

这段代码做了三件关键的事:

  1. 注册活动:MainActivity 必须在 AndroidManifest.xml 中注册,否则系统不认识它,无法使用。
  2. 声明主入口:<action android:name="android.intent.action.MAIN" /> 表示这是应用的主活动。
  3. 声明启动器入口:<category android:name="android.intent.category.LAUNCHER" /> 表示点击桌面应用图标时,首先启动的就是这个活动。

只有同时具备 MAIN 和 LAUNCHER 的活动,才会作为应用的启动入口。


二、活动(Activity)是什么

活动是 Android 应用的门面——你在屏幕上看到的一切,都运行在活动之中。

打开 app/java/ 目录下的 MainActivity.java,代码如下:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}Code language: JavaScript (javascript)

逐一拆解:

代码说明
extends AppCompatActivity继承自 AppCompatActivity,这是一种向下兼容的 Activity,最低兼容到 Android 2.1
所有活动都需继承 Activity(或其子类)这是 Android 组件的强制要求
onCreate()活动被创建时自动执行的生命周期方法
setContentView(R.layout.activity_main)为当前活动加载/绑定一个布局文件

三、逻辑与视图分离(类似 MVC)

Android 采用逻辑与视图分离的设计思想,类似于 MVC 模式:

  • 逻辑:写在 java/ 目录下的 Activity 类中
  • 视图:写在 res/layout/ 目录下的 XML 布局文件中

setContentView(R.layout.activity_main) 就是连接逻辑与视图的桥梁——它把 activity_main.xml 这个布局”塞进”了 MainActivity 里。


四、布局文件解析

布局文件位于 res/layout/activity_main.xml。

Android Studio 提供两种编辑模式:

模式说明
Design​可视化拖拽界面,所见即所得
Text​XML 代码编辑界面

打开 activity_main.xml,核心内容如下:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="你好吗Foxdevelop" />Code language: HTML, XML (xml)
  • TextView 是 Android 的一个基础控件,用于显示文本
  • android:text 属性指定了控件上显示的文字内容

你看到的 “Hello World”(或你自定义的文本),就是在这里定义的,而不是写在 Java 代码里。


五、完整启动流程总结

把整个启动过程串起来,流程如下:

用户点击桌面应用图标
        ↓
系统读取 AndroidManifest.xml
        ↓
找到带 MAIN + LAUNCHER 的 Activity(即 MainActivity)
        ↓
创建 MainActivity 实例
        ↓
执行 onCreate() 生命周期方法
        ↓
setContentView() 加载 activity_main.xml 布局
        ↓
布局中的 TextView 显示文本
        ↓
屏幕呈现 "Hello World"Code language: CSS (css)

用一句话概括就是:

配置文件声明入口 → 主活动被创建 → onCreate 执行 → 加载布局文件 → 布局中的控件渲染到屏幕


六、开发小技巧

  • 模拟器不需要每次关闭:运行后如果想停止应用,只需点击工具栏上的 🔴 (Stop)即可停止运行,无需关机或退出模拟器。
  • 修改代码后,直接点击 ▶ Run​ 重新部署即可看到效果。

七、总结

层次对应文件职责
配置层AndroidManifest.xml声明入口活动
逻辑层MainActivity.java控制活动行为
视图层activity_main.xml定义界面内容

配置文件 → 主活动 → onCreate() 方法 → 加载视图布局 → 屏幕显示

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注