イイモノ

プロの力が身につく Androidプログラミングの教科書を読んだ感想

starstarstarstarstar_border
プロの力が身につく Androidプログラミングの教科書
4797372486
最初の1冊としてより、2冊目として最適な位置づけ。

こんにちは、Androidアプリ開発したいなぁと思っているGenです。

私のAndroidアプリ開発経験は、ものすごい簡単なアプリを作ったことがあるだけです。画面は1つだけで、ボタン押したら端末内に保存しているデータをランダムに表示するだけなアプリなので、開発と言えるレベルのものではないのですね。

MixiのAndroidトレーニングなど、オンラインで情報集めて勉強していたのですが、それも限界があるなぁと思いまして、ちゃんと本買って勉強することにしました。

とは言ったものの、じゃあ実際どんな本を買おうかと迷いました

Androidアプリ開発の本はいろいろあるのですが、どの本を見ても今ひとつしっくり来ません。ハウツー本は多いですが、それだけでは本に書いてあるアプリは作れても、自分で作りたいアプリは作れません

何かいいものがないかと探している時、この「Androidプログラミングの教科書」に出会いました。この本は最初の1冊としてより、2冊目として最適な位置づけではないでしょうか。ハウツー本を読んだけど、結局Androidアプリ開発がよく分からないという人にピッタリだと思います。

本書の構成

本書は6章構成となっています。

  1. Androidの歴史、開発環境(Eclipse)などの話
  2. Androidの基本(基本となる4つのコンポーネント、ライフサイクルなど)
  3. 画面設計・UI(Androidで利用できるユーザーインタフェースなど)
  4. 実装テクニック(イベントハンドリング、スレッドなど)
  5. データの管理・保存(Activity間のデータのやりとり、ストレージへの保存など)
  6. デバッグ・検証

面白いなと思ったのは、検証方法について書かれているところです。アプリを作ったがいいが、どうやってデバッグしていくのか、品質を上げるにはどうしたらよいのかという点まで突っ込んでいる本というのはなかなかないのではないでしょうか?

デバッグに触れているのは珍しい?

デバッグ・検証の章は以下の解説がありました。

  • SDKに含まれるツールの紹介
  • デバッグの手法
  • 静的解析
  • アプリケーションのテスト手法と、各種テストのサンプル

デバッグには、アプリケーション自体にデバッグ用コードを仕込ませるのではなく、デバッグ用のテストプログラムを作ってそちらで確認をしたほうが良いみたいです。

今まで私はアプリケーション本体にテスト用のコードを書いていたのですが、それだと完成したアプリにもデバッグ用のコードが紛れることになります。アプリ本体とデバッグコードを分離することは、アプリケーション完成後にデバッグ用コードを削除する手間が省けますし、スパゲティコード化を防ぐ意味合いもあるそうです。

私はAndroidアプリを作成しても、デバッグをどうしたらいいのかというのがよく分かりませんでした。エミュレータで動かしても、ちゃんと問題なく動作しているのかイマイチ分かりません。その点、本書を読むことで「こういう風にデバッグしていけばいいのか」ということが分かってスッキリしました

注意点

この本は、何か1つのアプリを作成するという本ではありません。例えば、アプリでイベントを検出する方法はこうしましょう、イベントをハンドリングするにはこういう考え方がありますという感じで話が進んでいき、それぞれの機能毎にサンプルコードが用意されているという感じです。サンプルコードはありますが、あくまで各機能の動作を確認するためのものです。

そのため、この本を読んだだけでアプリ作成ができるようになるわけではないことに注意が必要です。特に、Androidのアプリ開発の経験がない人には、この本は難しいかもしれません。全くの初学という人は、まずはハウツー本で、アプリ開発の雰囲気を感じ取った方がいいと思います。

部分的な知識の繋がりが分かった

Androidアプリ開発についての本は、「こうすればこんなアプリが作れますよ」という、ハウツー形式のものが多いです。

書かれているアプリは作成できるけど、具体的に自分の作りたいアプリを作成するのに利用できるとは限りません。また、「こうやればこう動く」という個々の機能に焦点を当てているため、包括的な知識を得にくいと思います。

例えば、Activity間のデータの受け渡しをするためには、どのような方法があるのか。ネットでやり方を調べて、サンプルプログラムにあった方法だけしかないと思い込んでいないでしょうか。この本には、Activity間のデータの受け渡しをするためにとることのできる手法とその実装方法、注意点といったことが体系的に学べる数少ない存在だと思います。

この本は全体的な考え方について学ぶのにちょうどいいと思います。おかげで、私の中で今までバラバラだった部分的な知識が、それぞれどう関連しているのかを理解する助けになり、全体像が何となくですが理解できた気がします。

ご意見ご感想はこちらまで

関連記事