Androidプログラミングの基礎[1] アクティビティ [Android]
第一回目のテーマは「アクティビティ」です。
第1回: アクティビティ
アクティビティはAndroidアプリケーションの基本となるものです。アクティビティ(Activity)とはAndroidの動作を決定し、ユーザーインターフェイスを提供し、イベント処理などユーザーの操作に対する振る舞いを提供するもの。
1.サンプル作成
① プロジェクトの作成
ウィザードから作成します。最初なので各ダイアログ画面を載せますが、第2回以降の記事では設定のみ記述します。
・新規Androidアプリケーション
・プロジェクトの構成
・アイコン・セットの属性
・アクティビティーの作成
・Blank ACTIVITY
プロジェクトの完成
② 文字列定数を用意
下記文字列設定用ファイルをダブルクリックするとリソースエディターが起動する。
DogAgeCalculator/res/values/string.xml
「strings.xml」タブをクリックすると、直接編集できるので以下の4行を追加します。
③ レイアウトXMLファイルを用意
レイアウト設定用ファイルも”strings.xml”と同様に開きます。
DogAgeCalculator/res/layout/activity_main.xml
「activity_main.xml」タブをクリックし下記のように編集します。
グラフィカル・インターフェースが以下に変わりました。
④ アクティビティを作成
すでに雛形が作成されているので開いてみます。ここでは編集しないので中を見るだけです。
DogAgeCalculator/src/jp.andsys.android.dogagecalculator/MainActivity.java
⑤ 実行
対象プロジェクトを選択し、Eclipseのメニューから「実行」、「実行」を押すと「次を実行」ダイアログが現れるので「Androidアプリケーション」を選択し「OK」ボタンを押します。
エミュレータが起動後、DogAgeCalculatorアプリケーションが起動します。
この時点では、年齢を入力し「計算実行」を押しても何も起きません。
2.処理の実装
① 処理の追加
「計算実行」ボタンを押すと発生するイベントを追加します。赤で囲った部分が追加、編集した部分となります。
② ボタンを取得
ボタンのインスタンスを取得するために”findViewByld”メソッドを使います。本サンプルではButtonクラスにキャストして使用しています。
findViewByld メソッド
機能: android: id属性により識別されるビューのインスタンスを返します
書式: View findViewByld ( int id)
引数: id : R.javaに定義された該当するリソースID
③ リスナーの設定
ボタンが押されたイベントに応答するイベントリスナーを設定します。
setOnClickListner メソッド
機能: このビューがタップされたときいonClickコールバックjメソッドを呼び出すように設定する。
書式: void setOnClickListner ( View.OnClickListner l )
引数: l : View.OnClickListner インターフェースを実装したクラス
④ テキストボックスの値を取得
ボタンを押されたときの処理は、onClick メソッドに記述します。
⑤ トースト
トースト( Toast ) はウィンドウの前面に一定時間メッセージを表示する機能の事です。トーストの表示には android.widget.Toast クラスを使用します。
android.widget.Toast.Maketext メソッド
機能: ウィンドウの前面に一定時間メッセージを表示する。
書式: Toast makeText ( Context context, CharSequence text, int duration )
引数:
context : アクティビティ
text : トーストで表示したい文字列
duration : トーストで表示する時間。(LENGTH_SHORT/LENGTH_LONG)
3.アクティビティのライフサイクル
① ライフサイクル
インスタンスが生成されてから破棄されるまで「作成」、「停止」、「再開」、「破棄」とシステムによりその状態が変化する。このじょうたうい変化をアクティビティのライフサイクルと呼ぶ。
アクティビティの状態には以下の3つの状態がある。
実行中(再開) | ユーザーの目に見えている状態 |
一時停止 | 別のアクティビティが最前面にあるが、そのアクティビティが部分的または全体的に透明で、完全には覆っていない状態。 |
停止中 | 別のアクティビティにより完全に隠れている状態。 |
② ライフサイクルの表示
コールバックメソッドの呼び出しをログに表示する処理を追加する。
③ 実行
・LogCat ビューを開く
Eclipseのメニューから「ウィンドウ」、「ビューの表示」、「その他」を選択する。
「ビューの表示」ダイアログから「Android」、「LogCat」を選択し「OK」ボタンを押す。
LogCatビューが開いたら、[+]ボタンを押して、目的のログのみを表示するようにフィルターを設定する。
「Logcat Message Filter Settings」ダイアログが現れたら、「Filter Name」と「by Log Tag」欄に”life cycle”と入力して「OK」ボタンを押します。
「保管済みフィルター」に”life cycle”が追加されるので選択しておきます。
Eclipseメニューから「実行」、「実行」を選択する。
アプリケーションが起動するとログが変化します。
ホームボタンを押してアプリケーションが隠れると、”onPause()”、”onStop()”が呼ばれました。
ホームボタンの長押しで、最近使ったアプリケーションを表示させ、”DogAgeCulculator”を押します。すると”onRestart()”、”onStart()”、”onResume()”が呼ばれました。
アプリケーションも犬の「年齢」を入力し「計算実行」ボタンを押すと、「人の年齢換算した年齢」が表示されます。
以上でアクティビティ編を終了します。
本記事は以下の参考書を元にしています。
コメント 0