Androidを搭載したスマートフォン上で動くアプリケーション(Androidアプリ)を作ってみたいと考えている、あるいは、職場や学校でAndroidアプリを開発する必要に迫られている人はいませんか。本記事ではそうした人を対象に、2013年春時点での「Androidアプリ作成前のいろはのい」について紹介します。主に、Androidアプリでどのような機能を実現できるのかと、開発環境の整備方法を紹介していきます。

 Androidアプリを作成するには、ソフトウエア開発(プログラミング)に関する一般的な知識と、Android特有の知識という、広範囲の知識が必要になります。

 このAndroid特有の知識のなかには、後ほど説明するAndroid固有の仕組みに加えて、Android端末が備えているさまざまな機能とAndroid端末から利用できる外部サービスを使いこなすための知識も含まれます。なぜなら、魅力的かつ実用的なAndroidアプリを作成するには、「センサープログラミング」、「GPSと地図」、「クラウドサービス」それぞれに対する知識が必要になるためです。

センサープログラミング

 Android端末は通常、機種ごとにさまざまなセンサーを搭載しています。加速度や方位、気圧などのセンサーを使うプログラムはPC(パソコン)のアプリにはない分野です。常時身に付けていることの多いAndroid携帯ならではのアプリを作れるおもしろさがあります。たとえば、日々の活動を記録したライフログ・アプリなどです。

 Android携帯は電話機能を備えていることから、音声を録音したり再生したりもできます。きれいな写真や動画を撮影することも可能です。さらに、各種センサーと音声や動画の録音・録画、再生機能を組み合わせることで、よりユニークなアプリを作成することもできるでしょう。

 Android端末は、OHA(Open Handset Alliance、オープン・ハンドセット・アライアンス)に参加している世界各地のメーカーにより開発されています。異なるメーカーからさまざまな機種が発売されており、機種ごとに搭載されているセンサーが異なります。

 近接センサーは、Android携帯に顔が近いかどうか(電話中であるか否か)を判定するために使われるので、ほとんどの機種に搭載されています。ナビゲーションに利用する加速度センサーや地磁気センサーも多くの機種に搭載されています。しかし、温度センサー、湿度センサー、気圧センサーについては、それほど多くの機種に搭載されているわけではありません。

 そのため、アプリ開発にあたっては、どの機種にも同じような種類のセンサーが搭載されていると考えてはいけません。アプリで利用したいセンサーが、動作対象となる各機種に実装されているか否かで処理を分岐する必要があります。

 企業などで特定の機種を導入し、それだけで動く専用アプリを開発する場合は別ですが、広く一般の人に使ってもらうアプリを作成する場合は、使おうとするセンサーの有無を確認し、無い場合の策を考えておく必要があります。