活動

什麼是活動,以及如何手動新增一個活動

一、什麼是活動(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 namefirst_layout
Root elementLinearLayout
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按鈕上顯示的文字

+id 與無 + 的差別:

  • @+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。

活動

Previous:

發佈留言

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