アクティビティActivity

アクティビティとは何か、手動で追加する方法

1. アクティビティ(Activity)とは

アクティビティは Android アプリにおいてユーザーインターフェースを持つコンポーネントであり、主にユーザーとの対話に使用されます。

ポイント説明
主な役割UI 画面を保持し、ユーザー操作(タップ、入力など)を処理する
数アプリには0 個以上のアクティビティを含めることができる(アクティビティがなくても、バックグラウンドサービスのみのアプリなどは動作可能)
本質各アクティビティは1つの全画面ウィンドウまたは画面に対応する

2. アクティビティを手動で作成する(テンプレートに頼らない)

2.1 プロジェクトの作成
  • 新規プロジェクトを作成し、ActivityDemo と名前を付ける
  • テンプレートで Add No Activity を選択(アクティビティは自動生成されない)
  • プロジェクトのパスに日本語を含めてはいけない
  • 作成時にはインターネット接続が必要(Gradle の依存関係をダウンロードするため)

オフラインの場合、次のエラーが表示されます:

Gradle 'ActivityDemo' project refresh failed
Error:Cause: dl.google.comCode language: JavaScript (javascript)

Gradle が読み込まれていない場合、プロジェクトは自動的にパッケージ分割されず、アクティビティを正常に追加できません。

2.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)

3. レイアウトファイルの作成

3.1 新規レイアウトの作成

res/layout を右クリック → New → Layout Resource File

パラメータ値
File namefirst_layout
Root elementLinearLayout
3.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.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 を参照する(レイアウト間の参照など)

4. アクティビティでレイアウトを読み込む

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_layoutres/layout/first_layout.xml レイアウトを参照する

5. 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 をスローします。

アクティビティ

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です