「Androidプログラミング入門」 2011-2-11

所属するアンドロイドの会 横浜支部関連の横浜デ部主催の「Android Hack-a-Party!」に参加。内容は初心者向けのアンドロイド開発勉強会。教材は「Androidプログラミング入門」

まずは遅刻という失態。開始が14:00からと勝手に思い込み30分の遅刻。でも何とか開発環境構築中の参加者の隣に入り込み準備。担当講師は杉浦さんです。

「Androidプログラミング入門」の77ページ、2.2 「画面にウィジェットを表示する」から開始。ウィジェットとはユーザー操作をボタン(ウィジェット)でアクティビティに伝える為に画面に配置される重要な部品。本日はこのウィジェットとアクティビティの連携を理解するための第一歩の勉強。今回は実用的なプログラムで肥満度を計算するためのBMICalclulatorをサンプルプログラムとして作る。

EclipseのFile->New->Project->Android Project の順番にクリックしていくとアンドロイドのプログラムの外枠(RORでいうスキャフォールド?)をつくるための”New Android Project”というWindowが開く。ここにprojectを作る際に必要なprojectの名前、開発するプログラムのターゲットマシン(Build target)その他の書き入れるとprojectの外枠をEclipseが自動的に作ってくれる。

下の画像は、作っている途中のBMICalculator projectが左側にツリー構成、右の方にはソースなどが表示されている。

作られているres/values/strings.xmlに画像のようにコード(文字列)を追加する。


ポイントはこれら”BMIを計算します”などの文字列をprogramのソースコード、例えばBMICalculatorActivity.javaの中に埋め込まず、リソースとして登録しているということ。こうすることで他のリソースファイルやプログラムからstring要素の内容を参照することができるような仕掛けとしていること。

さて次はウィジェットのリソースへの定義。今回は3種類のウィジェットを使うのでそれらを定義していく。

* 説明文や身長、体重のラベル (TextView)
* 数値入力欄 (EditText)
* 「計算」ボタン (Button)

res/layout/main.xmlを編集。以下は編集する前の内容。

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/hello”
/>
</LinearLayout>

以下が編集した後の内容。

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
>

【説明文開始】

<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/label_description”
/>
【説明文終了】

【身長ラベル開始】
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/label_height”
/>
【身長ラベル終了】

【数値入力欄開始】
<EditText android:id=”@+id/text_height”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:numeric=”integer”  ”入力値の制限:整数”
android:maxLength=”3″    ”入力値の制限:桁数”
android:text=”160″       ”入力初期値”
/>
【数値入力欄終了】

【体重ラベル 開始 】
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”@string/label_weight”
/>
【体重ラベル 終了 】

【idの設定開始】
<EditText android:id=”@+id/text_weight”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:numeric=”integer” ”入力値の制限:整数”
android:maxLength=”3″   ”入力値の制限:桁数”
android:text=”50″       ”入力初期値”
/>
<Button
android:id=”@+id/button_calculate”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”@string/button_calculate” />
</LinearLayout>
【idの設定終了】

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

RSS
Follow by Email