
Androidで動く携帯Javaアプリ作成入門(1)
Android Market配布を目指しEclipseでHelloWorld!
株式会社イーフロー
緒方聡
2008/12/8
Android Marketでアプリを配布しよう
| 今回の主な内容 ・Android Marketでアプリを配布しよう ・いまさら聞けない「Android」 ・Androidアプリの開発環境を準備 ・コラム 「アプリ開発にかかわるライセンス規約」 ・注意! 「Add Siteでエラーが発生した場合」 ・Androidでも、お約束の「Hello World!」 ・賞金総額1000万ドルのコンテストも! |
2008年7月、日本のケータイ市場(本連載では、携帯電話/PHS/スマートフォンなどの端末をまとめて「ケータイ」と表記します)に黒船として来航し、巻き起こされたiPhone旋風は記憶に新しいと思います。これまでになかったスタイリッシュなデザインと操作性で、新しい物好きが飛び付いたわけですが、それとは別の旋風がIT業界でも起こっています。
■ Android版App Store「Android Market」
iPhoneは世界中で同一機種が販売されるという、これまでになかったケータイの展開方法を取っています。ケータイアプリベンダやケータイアプリ開発者にとっては、国内の単一キャリアではなく世界をターゲット・マーケットにできること、それにもかかわらず開発へのハードルが技術的にもコスト的にも低いことがとても魅力的なのです。
そして、「App Store」というオンラインの販売代理店が用意されていることも大きな魅力でしょう。App Storeの成功を見て、Windows Mobileでも同様のサービスが開始されます。そして今回の連載のテーマであるAndroidでも「Android Market」というサービスが提供されています(参考:Androidアプリ配布サイト提供へ、米グーグル)。
■ あなたの力でAndroidはブレイクする?
本連載では、統合開発環境Eclipseを使って、Androidで動くJavaアプリケーション(以降、本連載では「Androidアプリ」と略す)を開発する手法のイロハを習得し、Android MarketでAndroidアプリを配布することを目標とします。AndroidがiPhoneのようにブレイクするかどうかは、開発者の皆さんにかかっているといっても過言ではありません。
なお、本稿ではJava言語の文法が一通り分かっている方を読者対象にします。Java言語の文法に加え、NTT ドコモのiアプリやauのオープンアプリ、SoftBankのS!アプリ、さらにWILLCOMやイーモバイルのJavaアプリの作り方について詳しく知りたい読者は下記連載を参考にしてください。
いまさら聞けない「Android」
グーグルが主体になって開発し、無償で使用可能なオープンソースのプラットフォーム、Androidをご存じでしょうか。Androidを理解するにはまず、「OHA」を知らないといけません。
■ OHAとは?
OHAとは、グーグルが主体となって2007年11月に33社のベンダとともに発足した「Open Handset Alliance」の略称です。日本のキャリアではNTTドコモとKDDIが参画していて、そのNTTドコモとKDDIは「2009年度にAndroidケータイを発売する」とアナウンスしています(参考:Androidのオープン性でガラパゴスから脱出しよう)。
■ Androidアプリでできること
上図はOHAのトップページの抜粋です。OHAのロゴマークのケータイには、地図(Google Maps)、動画(YouTube)、メール(Gmail、SMS、MMS)、写真、音楽などの機能が搭載されているイメージですが、Androidの特徴をよく表せていると思います。もちろん、Webブラウザや電話帳なども搭載できますし、チャット(Google Talk)やデータベースなども使用できます。デバイスがサポートするなら、GPS、カメラ(ビデオ)、Bluetooth、Wi-Fi、タッチスクリーンなども使用可能です。
そして、そうした機能がJavaのAPIとして提供されていて、組み合わせて利用可能なのです。電話機能もJavaから使用できるので、タッチスクリーンと組み合わせてダイヤル式電話発信なんてジョークアプリが作れますね。
■ JavaであってJavaでない
AndroidはアプリをJava、それもJava MEではなくJava SEで開発できるのが開発者にとっての最大の特徴です。その一方、AndroidにはJava VMは搭載されていません。いったいどういうことでしょうか?
![]() |
| 図1 Androidアプリの作成の流れ |
AndroidにはJava VMの代わりに「Dalvik」というケータイなどの制限された環境で効率的に動作するVMが用意されています。
開発者はJavaでアプリを作成し、いったんJavaコンパイラでクラスファイルにコンパイルします。この段階までは完全にJavaでの開発です。コンパイルしたクラスファイルをDalvik実行形式にリコンパイルすることでDalvik VMで動作するようになります。
なお、AndroidでDalvik実行形式を動作させるためにはパッケージングする必要があります。
実際にはJavaのコードが動作するわけではないですが、開発言語がJavaなので、Androidアプリ開発ではこれまで培ったJavaのノウハウが最大限に生かせるわけです。
Androidケータイが日本でも発売されるということで、開発モチベーションが高まったところで、次ページでは、早速Androidアプリの開発環境を準備することにしましょう。
| 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を使用してアプリを高速化するには
| Java Solution全記事一覧 |
ホワイトペーパー(TechTargetジャパン)
- Android NDKでJNIを使用してアプリを高速化するには (2010/3/17)
C/C++やOpenGL ESといったネイティブコードを使うためのNDKとJNIを紹介し、その使い方や注意点を徹底解説します - 調査の難しい「OutOfMemoryError」事例、5選 (2010/3/11)
Java開発者が避けて通れないメモリ不足エラーの基本的な問題切り分け方法と発生につながる事例、対処法を解説 - 究極の問題解析ツール、逆コンパイラJD-Eclipseとは (2010/3/8)
ライブラリ内で例外が発生! そのクラスのソースコードを調べたい!! 自動で逆コンパイルしてくれる無料Eclipseプラグインがあります - いまさら聞けない「Webサービス」の常識 (2010/2/26)
昨今では企業システムでも使われる「Webサービス」の概念やJava標準のJAX-WSを紹介しJBoss WSでサンプルを作成
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |










