Androidで動く携帯Javaアプリ作成入門
連載インデックスへ
Androidで動く携帯Javaアプリ作成入門(4)

簡単でワクワクするAndroidウィジェット10連発!


株式会社イーフロー
緒方聡
2009/3/6
本連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Market配布を目指しましょう

ケータイとは思えないほど豊かな表現力のウィジェット

- PR -

 GUIベースで操作するプラットフォームでは、GUIコンポーネントライブラリ)の種類が豊富であればあるほど、豊かな表現のアプリが作成できます。

 DoJaでもMIDPでも、GUIコンポーネントを使用したアプリというのはあまり見掛けません。その最大の理由は、GUIコンポーネントが「かっこ悪い」から、そして「使いにくい」からだと思います。

 では、同じJavaであるAndroidはどうなのでしょうか。

 答えは「DoJaやMIDPとは違う」です。AndroidのGUIコンポーネント(以下、ウィジェット)はかっこ悪くも使いにくくもないというところを、アプリを使いながら紹介していきます。

 まずは、スクリーンショットを見てみましょう(下記表はインデックスになっています)

【1】ボタン 【2】自動補完テキスト 【3】アナログ時計 【4】プログレスバー 【5】日付選択
【1】ボタン 【2】自動補完テキスト 【3】アナログ時計 【4】プログレスバー 【5】日付選択
【6】クロノメーター 【7】ポップアップ 【8】動画再生 【9】画像ギャラリー 【10】値の変更を検知
【6】クロノメーター 【7】ポップアップ 【8】動画再生 【9】画像ギャラリー 【10】値の変更を検知

 ほとんどの画面がソースコードで100行以下です。画面の設定もごく簡単です。こんなリッチなウィジェットが用意されているなんて、なんだかワクワクしてきませんか?

 このデモアプリのソースコードは、以下のリンクよりダウンロードできます。

編集部注:最新の環境では、サンプルコードをEclipseにインポートすると、コンパイルエラーが発生することがあります。対処法は連載第2回の『2011年9月23日追記「Androidのバージョン違いによるサンプルの動作について補足」』をご参照ください

 それぞれの画面のコードは短いのですが、今回のデモアプリは10画面あるため、すべてを詳細に説明することは残念ながらできません。もうちょっと詳しく知りたいな、と感じたら、実際に動作させながらソースコードを追ってみてください。

Androidアプリ画面の作成方法

 Androidアプリの画面は、XMLで定義してそれを読み込む方法と、すべてJavaのコードで記述する方法が選択できます。どちらが簡単かというと、もちろんXMLであらかじめ定義しておく方法です。

 Android SDKには、WYSIWYGで編集可能な「Android Layout Editor」があり、実行時と同じ見た目でレイアウトが編集できるので、非常に便利です。今回のデモアプリもすべてAndroid Layout Editorで編集しました。

図1 Layout Editorで編集中
図1 Layout Editorで編集中

 画面レイアウトは、「res/layout」フォルダに任意の名前のXMLファイルを作成します。ファイル名には、アルファベットの小文字や数字、アンダースコアしか使用できませんが、その範囲内で分かりやすい名前を付けるといいでしょう。

【1】何はともあれボタンは必要

 ユーザーからの意思決定を受け取るには、ボタンが一番分かりやすいウィジェットでしょう。

図1 画面遷移イメージ(黄色から水色に遷移)
5つの主なボタン

 Androidには、以下のボタンが用意されています。

表1 Buttonウィジェット(代表的なもの)
クラス 概要
Button 通常のボタン
ToggleButton トグルボタン
ImageButton イメージを表示できるボタン
CheckBox チェックボックス
RadioButton ラジオボタン

 ボタンに関しては説明が不要なんじゃないかなと思います。ボタンを押したイベントの取得(setOnClickListener)、現在の状態の取得(isChecked)はもちろん、Androidの特徴として、長押しの検知(setOnLongClickListener)、タッチの検知(setOnTouchListener)などがあります。

コラム 「イベントが取得できるウィジェット」

 Androidのウィジェットはandroid.view.Viewクラスから派生しています。ボタンの場合、以下のような派生をしています。
図2 ボタンの派生のUML図
図2 ボタンの派生のUML図

ほとんどのイベントリスナーはViewに用意されているので、ほとんどのウィジェットが長押しやタッチのイベントを捕捉できます。より凝った動きのアプリを作りたいと思ったら、こうしたイベントを活用するのも有効です。

1-2-3

 Index
第4回 簡単でワクワクするAndroidウィジェット10連発!
Page1
ケータイとは思えないほど豊かな表現力のウィジェット
Androidアプリ画面の作成方法
【1】何はともあれボタンは必要
コラム 「イベントが取得できるウィジェット」
  Page2
【2】入力の要、エディットテキストやスピナー
【3】2種類の時計
【4】長い処理を行う際のプログレスバー
【5】日付と時刻を選択させたい
【6】クロノメーターで時間計測
  Page3
【7】ポップアップとダイアログとトースト
【8】3GPとMP4を簡単に動画再生
コラム 「エミュレータでSDカードを扱う方法
【9】表現力豊かなギャラリーで
【10】値が変更されたことを検知
次回はWebサービスとの連動やレイアウトについて

Androidで動く携帯Javaアプリ作成入門 バックナンバー 連載インデックスへ»


ご意見、ご感想は Smart&Social 会議室へどうぞ


 Smart&Social フォーラム トップページへ


TechTargetジャパン

Smart & Social フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH