アクティビティとは何か、手動で追加する方法
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 name | first_layout |
| Root element | LinearLayout |

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_layout | res/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をスローします。
アクティビティ
Previous: ログ機能
Next: アクティビティの登録