アクティビティの作成

広告

ここではActivityクラスの定義とActivityクラスを継承したクラスの作成方法について解説します。

1.Activityクラス
2.サンプルプロジェクトの作成

Androidでは次のように色々な画面が使用されます。

p1-1

同じ画面を内容を書き換えて使用することも可能ですが、画面内容が大きく変わる場合は別の画面を用意することが多いと思います。画面は情報の表示するといった役割の他に利用者からの入力や操作などに対する処理などを行います。

Androidでは画面を表示したりユーザーとのやり取りを行う部分をアクティビティと呼ばれるコンポーネントで実現します。1つの画面に付き1つのアクティビティで対応しますので、複数の画面があるアプリケーションの場合は複数のアクティビティを使うことになります。

アクティビティはActivityクラスを継承したクラスとして定義します。Activityクラスは次のように定義されています。

  • java.lang.Object
  • android.content.Context
  • android.content.ContextWrapper
  • android.view.ContextThemeWrapper
  • android.app.Activity
  • public class Activity extends ContextThemeWrapper implements ComponentCallbacks2 KeyEvent.Callback LayoutInflater.Factory2 View.OnCreateContextMenuListener Window.Callback

新しいアクティビティを定義するにはActivityクラスを継承したクラスを次のように定義します。

import android.app.Activity;

public class MyActivity extends Activity{
  /* アクティビティ */
}

以前にEclipseからプロジェクトを作成する方法を解説しましたが、自動的に作成されたソースコードも似たようなものが作成されていました。(参照「ソースコードの確認」)

package jp.javadrive.hello;

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

public class HelloActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

プロジェクト作成時に自動的に作成されていたソースコードもアクティビティクラスを定義していたことが分かります。このクラスの中ではアクティビティのオブジェクトが作成される時に呼び出される「onCreate」メソッドを定義され、そのメソッドの中で「setContentView」メソッドを使って画面に配置する部品などを定義されています。

なおJavaのプログラムではエントリーポイント(プログラムが開始されると最初に実行される場所のこと)はmainメソッドでしたが、Androidのアプリケーションの場合はあらかじめ指定した1つのアクティビティが最初に作成されることでアプリケーションが起動します。

アクティビティがどのように作成されて実行されるのかについては次のページで詳しく確認します。

今後アクティビティの使い方を確認するためのプロジェクトを1つ作成しておきます。作成方法は「Androidプロジェクトの作成」を参照して下さい。

プロジェクト名     : Sample1
アプリケーション名 : Sample1
パッケージ名       : jp.javadrive.sample1
Activity           : Sample1Activity
Minimum SDK        : 10 (Android 2.3.3)

次のように作成されました。

p1-2

次のページ以降でここで作成したプロジェクトを使いアクティビティの利用方法について確認していきます。

( Written by Tatsuo Ikura )