【Android】プロジェクトに新規Activity(アクティビティ)を追加する

アプリケーションでは複数の画面を使用する場合が多々ある。
そういった場合、新規で画面(Activity)を新規で追加する必要がある。
EclipseでAndroidプロジェクトに新規Activity(アクティビティ)を追加してみる。

手順としては、
STEP1、新規Activity(javaクラスファイル)を作成する
STEP2、マニフェストファイルに新規Activityを追加する

■STEP1 新規Activity(javaクラスファイル)を作成する
まず最初にパッケージ内に新規Activity(javaクラスファイル)を作成する。
Eclipse画面左のパッケージ欄でActivityを追加したいプロジェクトの[src]→[パッケージ名]の上で右クリックし、
表示されたメニューの中から[新規]→[クラス]をクリックする。

新規Activity追加

「新規Javaクラス」ウィンドウが表示されたら、
新規Activityの名前を「名前」欄に入力する。(今回はActivity001とした)
「修飾子」は任意のものを選択。(今回は初期状態のまま「public」でOK)

新規Activityの名前

「スーパークラス」は初期状態で「java.lang.Object」と入力されています。
今回はActivityクラスを継承したクラスを作成する為「android.app.Activity」と入力する。

スーパークラス入力「android.app.Activity」

入力が完了したら画面下の「完了」ボタンをクリック。
パッケージ内に新規Activityファイルが作成された事が確認できる。

新規Activityクラスファイル生成

新規Activityファイルには自動的にソースコードが作成されている。

package jp.sonkhon.androidtestapp.android;

import android.app.Activity;
	
public class Activity001 extends Activity {

}

Activityが呼び出された時に、確認用テキストが表示されるようにソースコードを追加する。

package jp.sonkhon.androidtestapp.android;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Activity001 extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		TextView tv = new TextView(this);
		tv.setText("Activity001");
		setContentView(tv);
	}
}

■STEP2 マニフェストファイルに新規Activityを追加する
Activityを追加したらマニフェストファイルに追加したActivityを記述する必要がある
まず、Eclipse画面左のパッケージ欄からAndroidManifest.xmlを開く

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="jp.sonkhon.androidtestapp.android"
	android:versionCode="1"
	android:versionName="1.0" >

	<uses-sdk android:minSdkVersion="15" />

	<application
		android:icon="@drawable/ic_launcher"
		android:label="@string/app_name" >
		<activity
			android:label="@string/app_name"
			android:name=".AndroidTestAppActivity" >
			<intent-filter >
				<action android:name="android.intent.action.MAIN" />

				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
	</application>

</manifest>

新規作成したActivityを追加する為、application要素の中にactivity要素を追加する。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="jp.sonkhon.androidtestapp.android"
	android:versionCode="1"
	android:versionName="1.0" >

	<uses-sdk android:minSdkVersion="15" />

	<application
		android:icon="@drawable/ic_launcher"
		android:label="@string/app_name" >
		<activity
			android:label="@string/app_name"
			android:name=".AndroidTestAppActivity" >
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />

				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
		<!-- この部分を追記 -->
		<activity
			android:label="@string/app_name"
			android:name=".Activity001">
		</activity>
		<!-- ここまで -->
	</application>

</manifest>

これで完了!!
アプリケーションが起動した時に最初に呼び出されるActivityが「AndroidTestAppActivity」になっているので、
今回新規作成したActivityを確認したい場合は、intent-filterタグをまるごと「Activity001」にもってきて、
最初に起動されるActivityを「Activity001」に変更することでも確認できる。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="jp.sonkhon.androidtestapp.android"
	android:versionCode="1"
	android:versionName="1.0" >

	<uses-sdk android:minSdkVersion="15" />

	<application
		android:icon="@drawable/ic_launcher"
		android:label="@string/app_name" >
		<activity
			android:label="@string/app_name"
			android:name=".AndroidTestAppActivity" >
		</activity>
		<activity
			android:label="@string/app_name"
			android:name=".Activity001">
			<!-- この部分をごっそり移動 -->
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />

				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
			<!-- ここまで -->
		</activity>
	</application>

</manifest>

android実機確認

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>