ホーム >  Android > アクティビティ

Android -アクティビティ-

アクティビティとは

アクティビティとは、画面を管理する機能です。
1つの画面に対して、1つのアクティビティクラスを作成し、その画面の処理をそのアクティビティに 実装します。

アクティビティは、自ら保持するアクティビティだけでなく他のアプリケーションが保持するアクティビティを利用することが 可能です。

また、他のアプリケーションを起動するだけでなく、他のアプリケーションの任意の画面(アクティビティ)を開き、その結果を 元のアプリケーションで受け取ることもできます。


アクティビティには、各イベントによってイベントハンドラと呼ぶメソッドが用意されています。

イベントとは、画面の初期表示やユーザによるボタンクリック、選択リストの値の選択などをトリガーとして 発生する様々な画面上の処理のことです。

あるイベントに対して行いたい処理がある場合、対象のイベントハンドラをアクティビティクラスで実装することにより、 その処理を実現します。

アクティビティクラスを作成する場合、Androidの標準クラスであるActivityクラスまたは、そのサブクラスを 継承して作成します。

画面初期表示のイベントハンドラ

画面の初期表示に呼ばれるイベントハンドラは、onCreateメソッドです。
このメソッドは、アクティビティクラスがインスタンス化された時に呼び出されます。

onCreateメソッドには、引数に画面の動的な情報を保持するBundleクラスのオブジェクトが引き渡されます。

Android端末では、省電力モードによるアプリケーションの停止状態、メモリ不足による画面破棄、 画面の縦横が切替によるアプリケーションの再起動など、ユーザが意図しないさまざまな原因でAndroidアプリケーションが 終了する可能性があります。

これらのタイミングで画面が初期化されてしまうと、非常に使いにくいものになるので、アプリケーションの画面の状態を 復元できるように、画面の動的な情報をBundleに保存します。

Avtivityクラス

Activitクラスの主なメソッド
View findViewById(int id) レイアウトに追加されているコンポーネットの取得
FragmentManager getFragmentManager() フラグメントマネージャの取得
LayoutInflater getLayoutInflater() xmlで定義した設定のインスタンス化
LoaderManager getLoaderManager() ローダマネージャの取得します。
Object getSystemService(String name) システムサービスの取得します。
Window getWindow() Windowオブジェクトの取得します。
WindowManager getWindowManager() WindowManagerオブジェクトの取得します。
final boolean requestWindowFeature(int featureId) ウィンドゥの特徴IDの指定します。
void setContentView(int layoutResID) 実画面に表示するビュー設定します。
layoutResIDは、リソースIDを指定します。
void setContentView(View view) 実画面に表示するビュー設定します。
viewは、ビューを指定します。
void setIntent(Intent newIntent) Intentオブジェクトの指定します。
Intent getIntent() Intentオブジェクトの取得します。
final void setResult(int resultCode) 呼び出し元アクティビティに通知する結果コードの指定します。
resultCodeは、結果コードを指定します。
  • Activity.RESULT_OK
  • Activity.RESULT_CANCELED
final void setResult(int resultCode, Intent data) 呼び出し元アクティビティに通知する結果コードの指定します。
resultCodeは、結果コードを指定します。
  • Activity.RESULT_OK
  • Activity.RESULT_CANCELED
dataは、パラメータ(付加情報)を保持するインテントを指定します。
void startActivity(Intent intent) Android OSにインテントを投げ、次のアクティビティを起動します。
void startActivityForResult(Intent intent, int requestCode) Android OSにインテントを投げ、次のアクティビティを起動します。
resultCodeは、リクエストコードを指定します。
リクエストコードとは、元のアクティビティに戻って来た時にどのアクティビティから 戻って来たか判断する為に付加する任意のIDコードです。
void finish() アクティビティの終了