今回は「Google Androidアプリケーション開発入門」についての書評です。

“Google Androidアプリケーション開発入門 画面作成からデバイス制御まで――基本機能の全容” (木南 英夫)
概要
- 系統…狩猟系と農耕系のどっちって言われたら、これは狩猟系でしょう
- 著者は…木南英夫さん
- ページ数は…308ページ
- 価格は…3150円(税込み)
- 発売日は…2009/6/4
- 対応SDKは…Android SDK 1.5対応。現時点では初
目次
1章 Androidとは
1.1 Androidの概要
1.2 Androidの実行環境
2章 開発環境
2.1 クロス開発環境とは
2.2 Android SDKのインストール
2.3 エミュレータの使用方法
3章 Hello, Android
3.1 新規プロジェクトの作成
3.2 プロジェクトの実行
3.3 アクティビティクラスの確認
3.4 リソースファイルとマニフェストファイルの確認
3.5 ボタンの追加
4章 アクティビティとインテント
4.1 アクティビティとウィンドウの相違点
4.2 アクティビティ
4.3 インテント
4.4 アクティビティのライフサイクル
5章 リソース
5.1 リソースの種類
5.2 リソースの格納
5.3 プログラムからのリソースの参照
5.4 他のリソースの参照
5.5 リソースの切り替え
5.6 定数値リソース
5.7 描画リソース
5.8 アニメーションリソース
5.9 レイアウトリソース
5.10 スタイルとテーマ
6章 ビューとレイアウト
6.1 ビューの種類
6.2 ビュー
6.3 ビューグループ
6.4 ダイアログ
6.5 オプションメニュー
6.6 絵合わせパネルゲーム
7章 サービスとノーティフィケーション
7.1 サービスとノーティフィケーションの関係
7.2 サービスの起動と終了
7.3 サービスのバインド
7.4 ノーティフィケーション
7.5 アラーム機能
8章 ストレージとコンテントプロバイダ
8.1 プリファレンス
8.2 ローカルファイル
8.3 SQLite
8.4 コンテントプロバイダ
9章 位置情報サービスとネットワーク連携
9.1 位置情報サービスの概要
9.2 Google Mapsの表示
9.3 位置情報サービス
9.4 駅検索アプリケーション
10章 デバイスの使用方法
10.1 センサー
10.2 マルチメディア再生
10.3 カメラ
10.4 電話機能
10.5 バーコードリーダー
11章 アプリケーションの配布
11.1 マニフェストファイルの設定
11.2 アプリケーションへの署名
11.3 Android Marketへの登録
12章 開発ツール
12.1 Android Debug Bridgeの使用方法
12.2 Dalvik Debug Monitor Serviceの使用方法
12.3 TraceViewの使用方法
12.4 SQLiteデータベースのコマンドライン操作
12.5 Androidのソースコードの取得方法
実際どうよ?
- 現時点では最強のリファレンス本です。
- 筆者の木南さんは、日本Androidの会の幹事であり、あちこちで初心者向けのハンズオン(SDKのセットアップからHello world、実機でのマップアプリ動作まで)を全国各地で開催している方です。(自分も北海道でこのハンズオンに参加しました) このような活動によるノウハウがぎっしり詰まった本です。
- 出版タイミングがSDK 1.1から1.5への移行期だったため、1.5を基本としつつも、センサー関連など一部1.1をベースにしつつ1.5のフォローといった箇所もある。
- 全体的に、他の本では省略されてしまった細部についても、ちゃんとフォローされている印象を受けます。特にリソース関連(アニメーションリソースやスタイルなど)とビューの属性関連について。これらは「とりあえず動くモノ」を作るには必要ないけど、「クオリティの高い製品」を作るために必要となるモノです。
- AndroidはActivityやService、ContentProvider、ライフサイクルなど、ちょっと癖のあるフレームワークですが、各章の始めの概念図がわかりやすく、導入として最適です。公式マニュアル(英文)で諦めた人は、こちらをお勧めします。
- GoogleMapsとのマッシュアップとして駅探索アプリを題材としていますが、これは別スレッドにてHTTP経由でWebAPIにアクセスし、結果をJSONで受けた後にこれをパースし、結果をUIスレッドに戻してマップ上のアイコンを制御するといったような内容です。単純にAPIのサンプルというより、その周辺ノウハウやAndroidの癖も含めた実用的なサンプルという印象を受けました。このサンプルが理解できれば他のWebAPIへの応用は簡単でしょう。
- 第10章では、ZXingを使ったバーコードリーダーのサンプルコードがあります。実はIntentを使えばバーコード・QRコードの撮影と解析は数行でできます。・・・が、このサンプルがまた良くて、カメラからのプレビュー画像関連処理や、シャッターを切ったときの動作など、カメラデバイスの使い方とその応用を感じさせる作りです。特にAR関連でプレビュー画像を処理したい人は参考になるんじゃないでしょうか。
- 内容としてはさらっとですが、Android Marketでの公開を前提とした、アプリへの署名やAndroid Marketへの登録方法についての説明があるのは大きいかも。最初は登録ってどんな感じだろう、難しいのかなぁって思いますもんね。
- 全体を通してみると、一般的なアプリケーションを作るときに必要になる知識は一通り解説しています。逆にグラフィックスやOpenGL関連は無いのでゲーム作りたい人にとっては、コードのサンプルとはならないかも。
- タイトルは“Google Androidアプリケーション開発入門 画面作成からデバイス制御まで――基本機能の全容” ですが、デバイス制御はあくまでフレームワークとしてAPIが用意されている範囲の話であって、JNIを使って自分で制御しちゃうよって話ではないので、悪しからず。(自分はタイトルを見てそう思ったので)
どんな人にオススメ?
- まったくのAndroid初心者だけど、Androidのプログラミングに興味がある人。
- Android SDKのインストールでハマった人。特にAVDなんて知らない!って人。
- パッケージ横断的な内容や、リファレンスとして手元に置いておきたい人。
- WebAPIを使ったマッシュアップや、カメラを使ったアプリのサンプルコードを探している人。
気になった方はチェックしてみてください。
さぁ、日本でのAndroid端末発売に伴って、初心者向け解説本は大体出そろってきた感があります。次は特定分野向けの濃い話でしょうか。iPhone SDKの教科書のように学生向け、モバイルに向くアプリのアイデアや設計手法・マーケティングデータ・ビジネスモデルを取りまとめた本、2Dや3D(OpenGL)の実践的なサンプル本、Androidで利用可能なJavaのオープンソースライブラリ・Google code上のAndroid向けライブラリを取りまとめた本などは需要がある気がします。













