【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実機確認

【Android】Eclipseで新規プロジェクトを作成する

EclipseでAndroidアプリの新規プロジェクトを作ってみる。

Eclipseではプログラムを作るにあたって、まずプロジェクトを新規で作成する必要がある。
その新規で作成したプロジェクトの中にプログラムや画像など、関連するものすべてを入れて管理する。

今回は「アンドロイドのテストアプリ」という事で、
「AndroidTestApp」というプロジェクト名のプロジェクトを作ってみる。

Eclipseを起動したら[ファイル]メニュー→[新規]→[プロジェクト]をクリックする。

Android新規プロジェクト作成

「新規Androidプロジェクト」ウィンドウが表示されたら、
[Android]ディレクトリをドリルダウンさせ、中にある[Androidプロジェクト]を選択して[次へ]をクリック。

新規Androidプロジェクト

次の画面で「プロジェクト名」にプロジェクト名(今回は「AndroidTestApp」)を入力する。
入力が完了したら[次へ]をクリック。

プロジェクト名入力

次の画面では「ビルド・ターゲット」を選択する。
ビルド・ターゲットは現時点で最新のAndroid4.0.3を選択する。
(最新のバージョンを選択した理由は、広告のSDKが古いバージョンに対応していなかった為、
あとでAndroidManifest.xmlのAPIレベルを変えてあげれば古いバージョンの環境にも対応できる)
入力が完了したら[次へ]をクリック。

ビルド・ターゲット選択

最後に、アプリケーションの情報を入力する。
「アプリケーション名」は任意のものでOK
「パッケージ名」も任意でOKですが、プログラムの配布を考える時、そのプログラムで宣言されているパッケージ名が他のプログラムのパッケージ名と重複すると問題が起こる為、重複しないネーミングにする。
入力が完了したら[完了]をクリック。

パッケージ名入力

これで新規プロジェクトの作成は完了!!
Eclipseの画面左側の[パッケージ]欄に新しく作成したプロジェクトが追加されたことが確認できる。

プロジェクト追加確認

【Android】開発環境準備時にEclipseが起動できない場合の処理

2011.11時点の最新版のJDK(Java Development Kit)とEclipseの組み合わせではエラーが表示されて、Eclipseが起動できない問題がある。

Eclipse起動エラー

これはEclipseがJDKを見つけられないという事なので、別途JDKのパスを設定してあげる必要がある。
エラーメッセージにもあるとおりbin\javaw.exeのパスを設定してあげる。

「コントロールパネル」→「システムとセキュリティ」→「システム」の順にクリックして「システムの詳細設定」を開く。

システムの詳細設定

「システムの詳細設定」をクリックして「システムのプロパティ」ウィンドウを開く。

システムのプロパティ

「詳細設定」タブの下部にある「環境変数」をクリックして「環境変数」ウィンドウを開く。
今回はシステム環境変数として設定する。

環境変数の設定

まず、システム環境変数の新規ボタンから
変数名:JAVA_HOME
変数値:C:Program File\Java\jdk1.6.0_29(JDKのヴァージョン)
を入力し「OK」をクリック。

すると、リスト上にJAVA_HOMEが追加される。

次に、システム環境変数リストの中のPath変数をクリックしてシステム変数を編集する。
変数値:C:Program File\Java\jdk1.6.0_29の後ろに、

;%JAVA_HOME%\bin

を追加する。

システム環境変数

あとは、Pathの設定が正常かどうか確認する。

「スタート」→「すべてのプログラム」→「アクセサリ」→「コマンドプロント」でコマンドプロントを起動する。

javac -version

を実行する。

コマンドプロント

C:\Users\Usersname>javac -version
javac 1.6.0_29

javacのバージョンが出力されれば正常。
これで正常にEclipseを起動できるようになります。