Android SDK 開発クックブックのレビュー

Android SDK 開発クックブック

Android SDK 開発クックブック

  • 作者: ジェームズ・スティール,ネルソン・トゥー,James Steele,Nelson To,柴田芳樹
  • 出版社/メーカー: ピアソン桐原
  • 発売日: 2011/07/26
  • メディア: 単行本(ソフトカバー)
  • 購入: 1人 クリック: 29回
  • この商品を含むブログ (4件) を見る

今年のはじめから翻訳のお手伝いをしていた、「Android SDK開発クックブック」がPEARSONから発売されています。

この本の特徴は、Androidの代表的な機能をサンプルプログラムを中心に解説している点です。

例えば、自分のアプリにちょっとプログレスバーを付けたりSMSの送信機能を付けたいときに、基本的な使い方のサンプルコードをみながら理解することができます。
もちろん、基本的なサンプルをそのまま使用する事もできますが、ここを手がかりに本当に自分がやりたいことを掘り下げていくことができます。たとえば、SMSを送信するには、SEND_SMSパーミッションを設定する、SmsManagerを取得する、sendTextMessageを使用して送信するということが理解できると、あとは、対応するリファレンスマニュアルを掘り下げることができます。

以下、本の目次と簡単な感想です。

第1章  Android の概要

Androidの歴史とともに、初期のAndroid搭載機器(HTC Dream/G1からSamsung Galaxy S)のCPUやRAMサイズなどのスペックが載っています。
(HTC Dream/G1の名前をみると、感慨深いものがあります。)
また、Android SDKのインストールからマーケットのアップロードまでの概要が記載されています。

第2章 アプリケーションの基本:アクティビティとインテント

Androidといえば、やはり、まず、アクティビティとインテントという定石どおりの展開です。
アクティビティのライフサイクルや、暗黙的なインテントの使い方などが解説されています。
ちょっとしたTipsとしては、「スクリーン方向の強制に載っているandroid:screenOrientation="portrait/landscape"の指定のほかに、ハードキーボードがスライドして出された場合の処理として、android:configChanges="orientation|keyboardHidden"を指定する」といった情報などでしょうか?

第3章 スレッド、サービス、レシーバ、アラート

ネットワーク関連の処理を行う場合にはさけて通れないスレッド処理、バックグラウンドで走るサービス、レシーバーを使用したアプリケーションウィジェットのレシピが載っています。
ウィジェットはアプリケーションに対してダイナミックなショートカットを作れるという点でAndroidの肝なので、ちょっと押さえておきたいところです。

第4章 ユーザインタフェースのレイアウト

一般的な開発者が苦労するユーザーインタフェースのレイアウトのレシピです。
基本的なレイアウトから、テキスト操作の方法、プログレスバーの使い方などが載っています。Tipsとしては、SeekBarのスライディングボックスの画像を指定するあたりでしょうか?

第5章 ユーザインタフェースのイベント

物理キープレイスの受け取り方法(onKeyDown/onKeyUp)やジェスチャやOpenGL ESの使い方といった、かなりマニアックな使用方法のレシピが載っています。
このあたりは、実際に動くサンプルがあるというのは、最初の一歩としてはとても貴重だと思います。

第6章 マルチメディア技法

画像イメージや音声データのハンドリング方法のレシピが載っています。
音声を録音する方法などは、普段はあまり使われない機能なので、ちょっと勉強になりました。

第7章 ハードウェア・インタフェース

カメラ、オリエンテーション、電話、Bluetoothなどのレシピが載っています。
特にBluetoothは、興味はあってもなかなか使ってみる機会がないので、出発点としては有用だと感じました。

第8章 ネットワーキング

SMSとHTTP GET/POSTのレシピが載っています。
HTTP POSTのサンプルはとてもシンプルですが、さりげなくAsyncTaskの使い方を説明していたりします。

第9章 データストレージ技法

共有プリファレンス、SQLite データベース、コンテンツ・プロバイダーのレシピが載っています。
共有プリファレンスは設定画面を作る手間をぐっと簡単にしてくれるので、覚えておいて損の無い機能だと思います。また、データの件数が多くなる場合に必要となるSQLiteの使い方も解説されています。

第10章 位置情報に基づくサービス

Android本ではお約束の位置情報とMapsの使い方です。
Tipsとしては、ジオコーディング、逆ジオコーディングの使い方のあたりでしょうか?Maps上に画像を配置するOverlayの使い方などもMapsを使いこなす上では必須の項目ですね。

第11章 高度な Android 開発

カスタムビュー、ネイティブコンポーネント、セキュリティ、プロセス間通信、バックアップ・マネージャ、アニメーションなど、かなり高度な項目が取り上げられています。
バックアップ・マネージャを使えるようになると、アプリケーションによっては、他のアプケーションとの差別化につながるかもしれません。

第12章 デバッグ

DDMS、adb、LogCatの使い方が簡単に説明されています。
TraceViewは普段あまり使わないのですが、きちんとパフォーマンスチューニングするときには活躍するツールなので、一度は使ってみておきたい機能です。

全体的な感想

この本自体は、初心者向けではなく、ある程度Androidの開発ができる開発者が、使用法をちょっと思い出すときの取っ掛かりとして有用な本だと感じています。
約300ページという分量のなかにサンプルコードが多く掲載されているため、プログラム自体の詳細な説明はありませんが、必要なポインターにたどり着くにはちょうどよい感じです。

ちなみに、著者の柴田芳樹さんは、『プログラマー”まだまだ”現役続行』などの自著の他、『プログラミング言語Java 第4版』や『Effective Java 第2版』など多くの本の翻訳も手がけています。このため、今回の翻訳では、原著者と連絡をとりながら、すでに動作しなくなっているサンプルコードの修正や、Javaのコーディングスタイルに合わせたソースコードの修正など、日本語版に向けた多くの改善が入っているようです。