簡単でワクワクするAndroidウィジェット10連発!:Androidで動く携帯Javaアプリ作成入門(4)(3/3 ページ)
本連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Market配布を目指しましょう
【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]
ほとんどのイベントリスナーはViewに用意されているので、ほとんどのウィジェットが長押しやタッチのイベントを捕捉できます。より凝った動きのアプリを作りたいと思ったら、こうしたイベントを活用するのも有効です。
【9】表現力豊かなギャラリーで
Androidには、たくさんの何かを表示するためのGalleryというウィジェットがあります。
「たくさんの何か」は、数とその種類を特に問いません。Galleryは最終的にViewとして表示するため、どんなものでもViewとして表現できればGalleryとして成立します。デモアプリでは見栄えが良いため、画像でギャラリーを作成しています。
デモアプリでは、画像のためのウィジェット、ImageViewとImageSwitcherを使用しています。
クラス | 概要 |
---|---|
ImageView | イメージを表示する一般的なウィジェット |
ImageSwitcher | 表示するイメージを、エフェクトを付けて切り替えられるウィジェット |
表5 イメージを表示するウィジェット |
ImageViewはGalleryに、ImageSwitcherは指定されたイメージを大きく表示するために使用しています。ImageSwitcherにはフェイドイン・フェイドアウトのエフェクトを指定しています。画面キャプチャでは、フェイドイン・フェイドアウトが伝わりにくいので、動作させて実際に見ていただければと思います。
【10】値が変更されたことを検知
そのほかウィジェットとしてRatingBarとSeekBarを紹介しておきます。
この両者は見た目や目的こそ違うものの、仕組みや使い方は同じです。両方ともリスナーを設定して、値が変更されたことを検知できます。
次回はWebサービスとの連動やレイアウトについて
今回は、Androidのウィジェットをひとまず見てみました。Androidのウィジェットは数が多過ぎて、また、Webサービスなどと連動しているものもあり、今回だけではすべてを紹介できませんでした。
次回も引き続きウィジェット関連を説明します。次回注力して扱うのはレイアウトです。今回はウィジェットをただ並べただけですが、もっと細かい制御が可能であるということ、その制御方法を詳細に説明していきます。
- グーグルのAPIを使うときに欠かせないGoogle OAuthの作り方と使い方
- 細か過ぎて伝わってないけど開発者が知っておきたいAndroid Mの新機能まとめ
- 腕時計から電話をかけるAndroid Wearアプリの作り方
- Android Wear用アプリの花形、時計アプリ「Watch Face」の基本的な作り方
- Android 5.0発表&スマホと連動する音声認識Android Wearアプリの作り方
- ウェアラブル端末用Android Wearアプリ開発の基礎知識
- 変わらないと生き残れないAndroid Lの新機能まとめ
- Android WearやIoTで注目のAndroidセンサー機能8選
- ウェアラブル時代に見直したいAndroidの加速度/重力センサー、ジャイロスコープ
- あなたの知らないAndroid SDKの便利tools、14選まとめ
- Android 4.4のメモリ使用状況を把握する3つのツールの使い方
- Androidでリアルタイムマルチプレーゲームを開発するには
- 低性能端末でも使えるか? Android 4.4 KitKatの新機能39選
- もはや無料BaaS。ゲーム以外でも使いたくなるGoogle Play Game Servicesのデータ管理機能
- アプリにGoogle+のソーシャルグラフを持ち込めるGoogle Play Game Servicesの基礎知識
- あなたのアプリはクラウドにデータをバックアップできますか?
- Eclipse ADTに代わるIDEとなるか? Android Studioの基礎知識
- ActionBarで、アプリのUIはこんなにスマートになる
- Android 4.x時代のアプリにないと残念なActionBarとは
- 動的クラスローディングでAndroidアプリ“裏”開発
- Android 4.xのAndroidビームをアプリに組み込むには
- AndroidアプリでNFCタグを読み書きするための基礎知識
- 新タブレット時代を見据えるAndroid 4.2の新機能9選
- Androidからイヤフォンやヘルス機器とBluetooth通信するには
- Bluetoothを使ってAndroidアプリ同士で通信するには
- Androidアプリをアプリ内購読に対応してもうける方法
- 開発者が知らないと残念過ぎるAndroid 4.1の新機能36選
- Androidのプロセス間通信を自由自在にするAIDL
- Android 4.0のサービス/プロセス間通信の基本
- Androidアプリでマルチメディアを扱うための基礎知識
- Androidのウィジェットにノーティフィケーションするには
- Android 4.0で注目の顔認識をアプリに組み込むには
- Android 4.0でアプリ開発を始めるための環境構築
- 開発者が知らないと損するAndroid 4.0の新機能44選
- Android Compatibility packageで2.x系でもマルチサイズ対応
- Androidの画面の大きさの違いを解決するFragments
- Android 3.0の新APIで簡単ドラッグ&ドロップ実装
- 開発者が知って得するAndroid 2.3の新機能18選
- アニメーションでAndroidに独創的な画面エフェクトを
- Androidアプリで“アニメーション”するための基礎知識
- XMLレイアウトでAndroidアプリに“設定画面”を追加
- 開発者が知っておきたいAndroid 2.2の新機能12連発
- もはやケータイに必須のカメラをAndroidで制御しよう
- 地図/位置情報/GPSを使うAndroidアプリを作るには
- Android NDKでJNIを使用してアプリを高速化するには
- Android 2.1の新機能「Live Wallpaper」で作る、美しく燃える“待ち受け”
- iPhoneより多彩なAndroidのセンサをアプリで操作
- SurfaceViewならAndroidで高速描画ゲームが作れる
- Android 1.6のジェスチャーとテキスト読み上げを使う
- Androidのホーム画面に常駐するアプリを作るには
- Netbookにも広まるAndroidで、かつてないWeb体験を
- アプリを国際化してAndroid Marketから世界へ発信
- 常駐アプリが作成できるAndroidの“サービス”とは
- AndroidでSQLiteのDB操作をするための基礎知識
- Androidアプリの使いやすさを左右する5つのレイアウト
- 簡単でワクワクするAndroidウィジェット10連発!
- ブラウザや地図、ストリートビューの基、Intentとは?
- Androidアプリ作成の基本“Activity”とは何か?
- Android Market配布を目指しEclipseでHelloWorld!
Copyright © ITmedia, Inc. All Rights Reserved.