mucchinのAndroid戦記

EclipseでのActivityの追加方法

アプリに、Activityを追加したいけど、やり方は?

EclipseでAndroid Projectを追加すると、最初に起動するActivityのjavaファイルが生成されますよね。
開発したいAndroidアプリによっては、複数のActivityを持ちたい場合があるでしょう。
色んなサイトや書籍で、Activityの追加に関する記事がありますが、どの記事も、いまいち追加のホントの最初の手順がわかりにくい、と思いました。
勘のいい人は、それでわかるでしょうけどね。
こういう手順は、プログラムでの処理のやり方に比べて、できれば手取り足取り教えて欲しいところではないでしょうか?
という事で、Eclipseを使ったActivity追加の手順を、なるべく手取り足取りで紹介しようと思います。


1.Activityのjavaファイル(Class)を追加する。
Package Explorerより、Activityを追加したいAndroid Projectの、src->最初に作ったパッケージのところで、右クリック。
そして、New->Classを選択すると、New Java Classウインドウが開きます。


「Name」に任意のクラス名を入力します。(画像の赤枠部分)
これがjavaファイル名になります。
「Super Class」というところの一番右側に「Browse」というボタンがありますので、押します。(画像の茶色い枠の部分)
すると、Supperclass Selection画面が開きます。

画像の赤枠部分に、おそらく最初は「java.lang.Object」と表示されていると思いますので、クリアします。
下のリストから「Activity」があればそれを選びます。
(例として単なるActivityクラスを継承させていますが、ListActivityやMapActivityを継承する必要があります。場合に応じて、継承するクラスを選んでください。
もちろん後でコードから継承するクラスを変える事はできますので、ここで誤っても大丈夫です。)
もし無ければ、下の画像のように、テキストボックスに、A c t i ・・・と入力していけば、その文字に併せてリストが絞られていきますので、慣れたら便利です。

そして、OKを押して、戻ったらFinishボタンを押します。
これで、javaファイルは生成完了です。
スポンサーリンク




2.Manifest.xmlに追加したActivityの宣言を記述する。
javaファイルを追加、実装しただけでは、Activityは動作しません。
Manifestファイルに、Activityの宣言を追加する必要があります。
XMLの中身としては、以下のような形です。(xxxActivity.javaというActivityを追加する場合)
<activity android:name=”xxxActivity”></activity>
では、Eclipseでの設定方法を説明していきます。
まず、下記の画像のように、AndroidManifest.xmlをAndroid Manifest Editorで開きます。(通常は関連付けられているので、ダブルクリックでOK。)

そして、Applicationタブを開きます。以下のような画面です。

画面左下部(上の画像赤枠部分)に、「Application Nodes」というのがありますので、ここのAddボタンを押します。すると以下のような画面が開きます。

※既にActivityを追加している場合だと、以下のようにラジオボタンがある場合もありますので、そのときは一つ目の選択肢を選択してください。

下のリストボックスに、「Activity」というのがありますので、これをダブルクリックします。(選択してOKでも可)
すると、下の画像の赤枠部分のように、Application Nodesに、「Activity」という要素が追加されたと思います。

これを選択した状態で、画面右側の「Attributes for Activity」というところを見ます。
以下の画像のようになっていると思います。

そこに「Name」というのがありますので、右側のBrowseボタンを押すと、以下のような画面が開きます。

開いたウィンドウの画像赤枠部分に、テキストボックスがあります。
ここに、先ほど追加したクラス名を打ち込んでやります。
下のリストから選らんでもOKです。
で、OKを押して、Manifest.xmlを保存すれば完了です。
これで、Activityの追加に関しては完了です。
今回の記事では、ここまでの手順の説明で終わりとします。

あとは、レイアウトの定義を追加して、Activityクラスの実装を進めていく、という運びになります。