iT邦幫忙

2026 iThome 鐵人賽

DAY 3
0
Software Development

從 Vibe Coding 到可維護專案:用 Hermes Agent 重讀 RoomRush Android 專題系列 第 3

Day 3 | 我先問自己:這個 Android App 到底從哪裡開始?

  • 分享至 

  • xImage
  •  

前言:重新打開 App 時,第一個入口到底藏在哪裡?

前兩天先說明了為什麼我要重新讀 RoomRush,以及 Hermes Agent 在這個系列裡扮演什麼角色。
從今天開始,我要正式進入專案檔案。

第一個檔案我選擇從 AndroidManifest.xml 開始。
它不是畫面,也不是查詢空教室的功能,但它告訴 Android 系統:這個 App 有哪些元件,以及哪一個畫面是使用者打開 App 時會先看到的入口。


一開始我認為

一開始,我錯把 AndroidManifest.xml 想成 App 的某種「啟動畫面」或「Loading 流程」。

但實際重新讀過之後,我才發現這個理解不太準確:

  • 它不是畫面,也不是 Loading 頁,它比較像是 Android 系統讀取 App 時會看的設定檔。
  • 它可以指定哪個 Activity 是啟動入口,但不代表它自己負責顯示畫面。

實際讀完後,AndroidManifest.xml負責什麼

和 Hermes Agent 一起重讀檔案後,我理解到AndroidManifest.xml 是 Android 系統用來認識這個 App 的設定檔,簡單來說就是「App的入口地圖」。


它如何指定 RoomRush 的啟動入口

在這裡,真正會被打開的第一個畫面,是 Manifest 裡面被標記為 MAINLAUNCHER 的 Activity。

MAIN 表示主要入口,LAUNCHER 表示可以從桌面 / App 清單啟動。

<application
    android:name=".EmptyRoomFinderApp"
    android:label="@string/app_name">

    <activity
        android:name=".MainActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".LoginActivity" android:exported="false" />
</application>

和 MainActivity 的關係

AndroidManifest.xml 最直接關係到的是 MainActivity.kt,因為 Manifest 裡面會指定哪個 Activity 是啟動入口。

這裡可以先把關係簡化成:

AndroidManifest.xml
  ↓ 指定啟動入口
MainActivity.kt

Day 3 雖然還不會深入 MainActivity.kt,但我至少先知道:

RoomRush 的第一個畫面不是憑空出現的,而是 Manifest 裡面指定出來的。


Hermes Agent 幫我檢查出的重點

AndroidManifest.xml 是用來告訴 Android 系統:這個 App 有哪些元件,例如 Activity 和 Application。當使用者點開 App 時,Android 會讀取 Manifest,找到被設定為 MAINLAUNCHERMainActivity,並把它當作第一個畫面啟動。Manifest 只是註冊元件,不代表所有 Activity 都會立刻執行。


小結

一開始我以為 AndroidManifest.xml 可能就是 App 的開啟入口,甚至把它想成類似 Loading 畫面。但實際讀完後才發現,Manifest 本身不是畫面,而是 Android 系統用來認識這個 App 的設定檔。在 RoomRush 裡,真正第一個被打開的畫面是 MainActivity,原因是它在 Manifest 裡被設定了 MAINLAUNCHER

如果要用一句話記住 AndroidManifest.xml,我會這樣說:

AndroidManifest.xml 是 RoomRush 的 App 入口地圖,它告訴 Android 哪個 Activity 是第一個畫面,但它自己不是畫面。


下一篇預告:一個空教室查詢 App,首頁到底負責什麼?

讀完了 App 的入口,接下來就是進入到 App 的首頁,也就是 MainActivity.kt
它是 RoomRush 的首頁 Activity。

如果少了首頁,就少了核心的畫面,其餘的 RoomRush 畫面和功能就更不用說了;既無法傳遞給下一頁,也無法實際操作後面的功能。


上一篇
Day 2 | AI Agent 不是幫我代寫,而是逼我看懂自己的專案
系列文
從 Vibe Coding 到可維護專案:用 Hermes Agent 重讀 RoomRush Android 專題3
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言