連載
» 2009年03月06日 00時00分 公開

簡単でワクワクするAndroidウィジェット10連発!Androidで動く携帯Javaアプリ作成入門(4)(3/3 ページ)

[緒方聡,株式会社イーフロー]
前のページへ 1|2|3       

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

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

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

 この中で覚えておくと便利なのは、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を使用しています。

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

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

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

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

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

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

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

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

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


「Androidで動く携帯Javaアプリ作成入門」バックナンバー
前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。