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視覺化拖曳介面,所見即所得
TextXML 程式碼編輯介面

打開 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 是怎麼運行起來的

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *