SSブログ

Androidプログラミングの基礎[1] アクティビティ [Android]

第一回目のテーマは「アクティビティ」です。

第1回: アクティビティ

アクティビティはAndroidアプリケーションの基本となるものです。アクティビティ(Activity)とはAndroidの動作を決定し、ユーザーインターフェイスを提供し、イベント処理などユーザーの操作に対する振る舞いを提供するもの。

1.サンプル作成

① プロジェクトの作成

ウィザードから作成します。最初なので各ダイアログ画面を載せますが、第2回以降の記事では設定のみ記述します。

・新規Androidアプリケーション

image

・プロジェクトの構成

image

・アイコン・セットの属性

image

・アクティビティーの作成

image

・Blank ACTIVITY

image

プロジェクトの完成

image

② 文字列定数を用意

下記文字列設定用ファイルをダブルクリックするとリソースエディターが起動する。

DogAgeCalculator/res/values/string.xml

image

「strings.xml」タブをクリックすると、直接編集できるので以下の4行を追加します。

image

③ レイアウトXMLファイルを用意

レイアウト設定用ファイルも”strings.xml”と同様に開きます。

DogAgeCalculator/res/layout/activity_main.xml

image

「activity_main.xml」タブをクリックし下記のように編集します。

image

グラフィカル・インターフェースが以下に変わりました。

image

④ アクティビティを作成

すでに雛形が作成されているので開いてみます。ここでは編集しないので中を見るだけです。

DogAgeCalculator/src/jp.andsys.android.dogagecalculator/MainActivity.java

image

⑤ 実行

対象プロジェクトを選択し、Eclipseのメニューから「実行」、「実行」を押すと「次を実行」ダイアログが現れるので「Androidアプリケーション」を選択し「OK」ボタンを押します。

エミュレータが起動後、DogAgeCalculatorアプリケーションが起動します。

image

この時点では、年齢を入力し「計算実行」を押しても何も起きません。

 

2.処理の実装

① 処理の追加

「計算実行」ボタンを押すと発生するイベントを追加します。赤で囲った部分が追加、編集した部分となります。

image

② ボタンを取得

ボタンのインスタンスを取得するために”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つの状態がある。

実行中(再開) ユーザーの目に見えている状態
一時停止 別のアクティビティが最前面にあるが、そのアクティビティが部分的または全体的に透明で、完全には覆っていない状態。
停止中 別のアクティビティにより完全に隠れている状態。

② ライフサイクルの表示

コールバックメソッドの呼び出しをログに表示する処理を追加する。

image

image

③ 実行

・LogCat ビューを開く

Eclipseのメニューから「ウィンドウ」、「ビューの表示」、「その他」を選択する。

image

「ビューの表示」ダイアログから「Android」、「LogCat」を選択し「OK」ボタンを押す。

image

LogCatビューが開いたら、[+]ボタンを押して、目的のログのみを表示するようにフィルターを設定する。

image

「Logcat Message Filter Settings」ダイアログが現れたら、「Filter Name」と「by Log Tag」欄に”life cycle”と入力して「OK」ボタンを押します。

image

「保管済みフィルター」に”life cycle”が追加されるので選択しておきます。

image

Eclipseメニューから「実行」、「実行」を選択する。

アプリケーションが起動するとログが変化します。

image

ホームボタンを押してアプリケーションが隠れると、”onPause()”、”onStop()”が呼ばれました。

image

ホームボタンの長押しで、最近使ったアプリケーションを表示させ、”DogAgeCulculator”を押します。すると”onRestart()”、”onStart()”、”onResume()”が呼ばれました。

image

アプリケーションも犬の「年齢」を入力し「計算実行」ボタンを押すと、「人の年齢換算した年齢」が表示されます。

image

以上でアクティビティ編を終了します。

 

本記事は以下の参考書を元にしています。


nice!(0)  コメント(0)  トラックバック(1) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。