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

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


株式会社イーフロー
緒方聡
2009/3/6

【7】ポップアップとダイアログとトースト

- PR -

 ポップアップを行うウィジェットはAndroidにいくつか用意されています。

表4 ポップアップするウィジェット
クラス 概要
PopupWindow 柔軟な表示が可能なウィジェット。Androidのクラスライブラリでも内部的に使用されている。使用方法がほかと比べると面倒くさい
Dialog ダイアログのベースクラス
AlertDialog アラートのためのダイアログ
ProgressDialog プログレスバーを表示するダイアログ
DatePickerDialog 日付選択ダイアログ
TimePickerDialog 時刻選択ダイアログ
Toast 一定時間だけ表示されるトースト

 この中で覚えておくと便利なのは、Dialogです。Dialogは簡単な使い方ができる一方、高度な使い方もできる、使い勝手の良いウィジェットの1つです。一方、PopupWindowは使いづらいですが、きめ細かい制御が可能です。

ポップアップ
ポップアップ

 ダイアログベースのプログレスバーもあり、先に紹介したプログレスバーよりもこちらの方が使うのは簡単です。

【8】3GPとMP4を簡単に動画再生

 Androidアプリでは、動画を表示させることが非常に簡単にできます。VideoViewという動画を再生するウィジェット、動画の制御を行うMediaControllerというウィジェットがあらかじめ用意されています。

動画再生
動画再生

 今回の例では、ソースコードはたったの15行です。自前のコードでは再生するファイルの指定以外何の制御もしていません。ファイルの指定はファイルパスまたはURIです。ちなみに、AndroidのVideoViewで再生が確認された動画フォーマットは3GPとMP4です。

コラム 「エミュレータでSDカードを扱う方法

Android SDKに付属するツールで、エミュレータで扱えるSDカードを作成できます。コマンドプロンプトを起動し、Android SDKの「tools」フォルダにパスを通します。その後、以下のコマンドでまずはSDカードのイメージを作成します。

mksdcard 64M android_sd.img

これで64MbytesのSDカードが作成できました。その後、以下のようにSDカードを使用する設定でエミュレータを起動します。

emulator ?sdcard android_sd.img

エミュレータが起動し終えたら、別のコマンドプロンプトを起動して、以下のコマンドを実行し、ファイルをSDカードに転送します。

adb push <file path> /sdcard

これでSDカードにファイルを転送し終えました。EclipseからSDカードを使用できるエミュレータを起動したい場合、Eclipseの[Debug Configurations]で、図3のようにコマンドラインオプションを指定します。
図3 [Debug Configurations]
図3 [Debug Configurations]

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

【9】表現力豊かなギャラリーで

 Androidには、たくさんの何かを表示するためのGalleryというウィジェットがあります。

画像ギャラリー
画像ギャラリー

 「たくさんの何か」は、数とその種類を特に問いません。Galleryは最終的にViewとして表示するため、どんなものでもViewとして表現できればGalleryとして成立します。デモアプリでは見栄えが良いため、画像でギャラリーを作成しています。

 デモアプリでは、画像のためのウィジェット、ImageViewとImageSwitcherを使用しています。

表5 イメージを表示するウィジェット
クラス 概要
ImageView イメージを表示する一般的なウィジェット
ImageSwitcher 表示するイメージを、エフェクトを付けて切り替えられるウィジェット

 ImageViewはGalleryに、ImageSwitcherは指定されたイメージを大きく表示するために使用しています。ImageSwitcherにはフェイドイン・フェイドアウトのエフェクトを指定しています。画面キャプチャでは、フェイドイン・フェイドアウトが伝わりにくいので、動作させて実際に見ていただければと思います。

【10】値が変更されたことを検知

 そのほかウィジェットとしてRatingBarとSeekBarを紹介しておきます。

値の変更を検知
値の変更を検知

 この両者は見た目や目的こそ違うものの、仕組みや使い方は同じです。両方ともリスナーを設定して、値が変更されたことを検知できます。

次回はWebサービスとの連動やレイアウトについて

 今回は、Androidのウィジェットをひとまず見てみました。Androidのウィジェットは数が多過ぎて、また、Webサービスなどと連動しているものもあり、今回だけではすべてを紹介できませんでした。

 次回も引き続きウィジェット関連を説明します。次回注力して扱うのはレイアウトです。今回はウィジェットをただ並べただけですが、もっと細かい制御が可能であるということ、その制御方法を詳細に説明していきます。

@IT関連記事


Google Android用携帯アプリ作成のための基礎知識
小山博史のJavaを楽しむ(9) 
先日公開されたGoogleの携帯端末プラットフォームAndroid。開発環境の整え方やアプリの作り方、作成に便利なツール、SDKの中身などを解説
Java Solution」フォーラム 2007/12/3
Androidのオープン性でガラパゴスから脱出しよう
ものになるモノ、ならないモノ(29)
 ガラパゴスとやゆされる日本の高機能ケータイ。閉塞感に満ちた国内市場から世界に出るための解は、Androidのオープン性にある
Master of IP Network」フォーラム 2008/12/1
Androidは雇い主の分身として仕事をするエージェント
Google Developer Day 2008特集(1) Androidの生みの親、アンディ・ルービン氏が、Androidに込めた思いと展望を語る。「Google Android入門」の著者の嶋氏が聞く
リッチクライアント & 帳票」フ ォーラム 2008/6/13
/fsmart/eclipsejava.html 携帯アプリを作って学ぶJava文法の基礎
Java文法の基礎を楽しみながら学ぶために、携帯電話のJavaアプリを作ってみましょう。携帯電話のJavaだけにとどまらないJava全般の文法の基礎が理解できる初心者向け入門連載です
新時代の業務用モバイルRIAを考える
iPhoneやAndroid、ネットブックの登場で盛り上がるモバイル業界。本特集では「業務でのモバイル利用」において、どの端末やプラットフォームを検討すべきか、また使い勝手において重要なUIのあり方などについて考察する

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