本連載で、SDKとEclipseを使ってAndroidの携帯端末で動くJavaアプリを作成し、Android Market配布を目指しましょう
ケータイとは思えないほど豊かな表現力のウィジェット
- - PR -
GUIベースで操作するプラットフォームでは、GUIコンポーネント(ライブラリ)の種類が豊富であればあるほど、豊かな表現のアプリが作成できます。
DoJaでもMIDPでも、GUIコンポーネントを使用したアプリというのはあまり見掛けません。その最大の理由は、GUIコンポーネントが「かっこ悪い」から、そして「使いにくい」からだと思います。
では、同じJavaであるAndroidはどうなのでしょうか。
答えは「DoJaやMIDPとは違う」です。AndroidのGUIコンポーネント(以下、ウィジェット)はかっこ悪くも使いにくくもないというところを、アプリを使いながら紹介していきます。
まずは、スクリーンショットを見てみましょう(下記表はインデックスになっています)。
![]() |
![]() |
![]() |
![]() |
![]() |
| 【1】ボタン | 【2】自動補完テキスト | 【3】アナログ時計 | 【4】プログレスバー | 【5】日付選択 |
![]() |
![]() |
![]() |
![]() |
![]() |
| 【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で編集中 |
画面レイアウトは、「res/layout」フォルダに任意の名前のXMLファイルを作成します。ファイル名には、アルファベットの小文字や数字、アンダースコアしか使用できませんが、その範囲内で分かりやすい名前を付けるといいでしょう。
【1】何はともあれボタンは必要
ユーザーからの意思決定を受け取るには、ボタンが一番分かりやすいウィジェットでしょう。
![]() |
| 5つの主なボタン |
Androidには、以下のボタンが用意されています。
| 表1 Buttonウィジェット(代表的なもの) | ||||||||||||
|
ボタンに関しては説明が不要なんじゃないかなと思います。ボタンを押したイベントの取得(setOnClickListener)、現在の状態の取得(isChecked)はもちろん、Androidの特徴として、長押しの検知(setOnLongClickListener)、タッチの検知(setOnTouchListener)などがあります。
コラム 「イベントが取得できるウィジェット」 |
||
Androidのウィジェットはandroid.view.Viewクラスから派生しています。ボタンの場合、以下のような派生をしています。
ほとんどのイベントリスナーはViewに用意されているので、ほとんどのウィジェットが長押しやタッチのイベントを捕捉できます。より凝った動きのアプリを作りたいと思ったら、こうしたイベントを活用するのも有効です。 |
| Index | ||||||||
|
||||||||
Androidで動く携帯Javaアプリ作成入門 バックナンバー 連載インデックスへ»
- 第1回 Android Market配布を目指しEclipseでHelloWorld!
- 第2回 Androidアプリ作成の基本“Activity”とは何か?
- 第3回 ブラウザや地図、ストリートビューの基、Intentとは?
- 第4回 簡単でワクワクするAndroidウィジェット10連発!
- 第5回 Androidアプリの使いやすさを左右する5つのレイアウト
- 第6回 AndroidでSQLiteのDB操作をするための基礎知識
- 第7回 常駐アプリが作成できるAndroidの“サービス”とは
- 第8回 アプリを国際化してAndroid Marketから世界へ発信
- 第9回 Netbookにも広まるAndroidで、かつてないWeb体験を
- 第10回 Androidのホーム画面に常駐するアプリを作るには
- 第11回 Android 1.6のジェスチャーとテキスト読み上げを使う
- 第12回 SurfaceViewならAndroidで高速描画ゲームが作れる
- 第13回 iPhoneより多彩なAndroidのセンサをアプリで操作
- 第14回 Android 2.1の新機能で作る、美しく燃える“待ち受け”
- 第15回 Android NDKでJNIを使用してアプリを高速化するには
- 第16回 地図/位置情報/GPSを使うAndroidアプリを作るには
- 第17回 もはやケータイに必須のカメラをAndroidで制御しよう
- 第18回 開発者が知っておきたいAndroid 2.2新機能 12連発
- 第19回 XMLレイアウトでAndroidアプリに“設定画面”を追加
- 第20回 Androidアプリで“アニメーション”するための基礎知識
- 第21回 アニメーションでAndroidに独創的な画面エフェクトを
- 第22回 開発者が知って得するAndroid 2.3の新機能18選
- 第23回 Android 3.0の新APIで簡単ドラッグ&ドロップ実装
- 第24回 Androidの画面の大きさの違いを解決するFragments
- 第25回 Compatibility packageで2.x系でもマルチサイズ対応
- 第26回 開発者が知らないと損するAndroid 4.0の新機能44選
- 第27回 Android 4.0でアプリ開発を始めるための環境構築
- 第28回 Android 4.0で注目の顔認識をアプリに組み込むには
| ご意見、ご感想は Smart&Social 会議室へどうぞ |
| Smart&Social フォーラム トップページへ |
TechTargetジャパン
- 検索技術を使うなら知ってないと損する6つのこと (2012/2/9)
ソーシャルアプリなど大規模Webサービスや企業内システムでも欠かせない検索技術のまとめ - AWSとAndroidを直結するSDKで何ができるのか? (2012/2/3)
簡単なコーディングでAndroidアプリからAmazon S3のストレージに直接接続できるサンプルを基にSDKの使い方を紹介 - HTML5/jQuery MobileなどスマホWeb開発記事33選 (2012/1/31)
スマートフォン向けWebアプリを作るための@IT記事のまとめ。HTMLやCSS、JavaScript/jQuery自体の基礎学習記事も紹介 - iPhoneで動くARアプリを作るためのライブラリ10選 (2012/1/25)
ARToolkitをはじめ、iOS(iPhone/iPad)で使えるAR(拡張現実)を実現するためのさまざまなライブラリをサンプルやコードを交えて紹介
|
|
キャリアアップ
スポンサーからのお知らせ
イベントカレンダー
- - PR -














