一、從啟動入口說起
要了解任何 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)
這段程式碼做了三件關鍵的事:
- 註冊活動:
MainActivity必須在AndroidManifest.xml中註冊,否則系統不認得它,無法使用。 - 宣告主入口:
<action android:name="android.intent.action.MAIN" />表示這是應用程式的主活動。 - 宣告啟動器入口:
<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()方法 → 載入視圖布局 → 螢幕顯示
APP 是怎麼運行起來的
Previous: 專案解析與目錄結構
Next: 資源 res 檔案和修改應用程式名稱與圖示