Android SDK programming (Android 4.2)

○ はじめに

本文書では、Google が 2007年11月5日に発表した、携帯電話向けのプラットフォーム Android 上で動作するアプリケーションを、SDK を用いて作成する方法について自分が勉強したことを説明していきたいと思います。

著者は以前、2008年1月に「Android SDK programming」というサイトを公開していました。当時は Android が出たばかりで SDK もバージョン m5-rc14/rc15 と正式リリース前のバージョンでした。それなりに反響があったのですが、API仕様の変更に追従する時間が取れなくなり、2009年5月に公開を停止しました。

今回は、当時のサイトをまずは SDK Tools 22.0.4 (API level 17)(2013/7版) / Android 4.2 向けに書き直す事から始めて、その後に当時触れられなかった内容について書いていこうと思っています。開発ツールから大分変わってしまっている様なので、調査にそこそこ時間がかかりそうです。

↓ここから、以前公開していたサイトの「はじめに」の引用です。

2007年11月5日、Google は携帯電話向けのプラットフォームAndroidを発表しました。Android の開発を行うOpen Handset Alliance には、発表時点で 30 社以上の携帯メーカーや通信事業者が参加しています。また、2007年11月12日には、 Android Developer Challenge の開催を発表すると同時に、SDK を公開しました。

著者はこれまで iアプリや EZアプリ等の既存の携帯電話アプリケーションは一切触ったことが無く、興味も全く無かったため、Android が発表された時も”ふぅん…”というのが正直な感想でした。

しかし、Android は Linux カーネル 2.6 をベースとしていてオープンソースなため、自分が興味あるデバイス周りのコードを見ることも出来るかな?という関心が湧いてきました。それで、とりあえず SDK でもダウンロードしてきてアプリケーション作成の雰囲気でも掴んでみようかなと思い、本文書を書き始めました。

まだ勉強し始めで文章が出来たところから公開していく形になりますが、少しづつ ”Android”搭載の携帯が出たら買って使ってみるかな…という気になってきました!

↑引用ここまで。

本文書へのリンクは御自由にどうぞ。本サイト内の文章に関して何かご意見などがありましたら、ページ最下部にあるアドレスまで、あるいはここからお願いします。なお、本文書において使用しているサンプルコードを zip 形式で圧縮したものをsrc.zipとして置いてます。展開して得られる各ソースコードは EUC で書かれています。各ディレクトリにはそのコードを使用した Lecture の番号が付加されています。このソースコードの使用に関しては、免責事項の記述を了承していただければ自由に使っていただいて構いません。

また、ソースコードを含めた文書全体のアーカイブ( zip 形式 )を android2_doc.zipとして置いてます。こちらも EUC で書かれています。

なお、ソースコードは SDK Tools 22.0.4 / プラットフォーム Android 4.2 でコンパイル可能です。

○ 前堤環境

本文書では、Windows/Linux® いずれかで Android SDK を用いてプログラムを作成します。Eclipse は使用せず、コマンドラインでコンパイル/作成したアプリケーションの実行を行います。また、Android SDK のバージョンは SDK Tools 22.0.4 (API level 17)(2013/7版) / プラットフォーム Android 4.2 に対応しています。

○ 免責事項

本サイトで公開している内容については可能な限り正確を期する様に心掛けていますが、著者の知識不足から技術的な誤りもしくは不適切な表現や誤植を含む可能性があります。これらの内容を使用することによって生 じる可能性のあるいかなる被害/損害に対して、著者は一切の責任を負えません。よって、ご利用になられる際はみなさん各自の責任で内容確認/動作確認を行って下さい。

なお、本サイト (Android SDK programming (Android 4.2)) に掲載しているサンプルプログラムについては修正 BSD ライセンス(新 BSD ライセンス)に従うこととします(Open Source Initiative によるテンプレートはこちら。テンプレートの参考邦訳はこちら)。

Copyright (c) 2013, Ryo Ichinose
All rights reserved.

Redistribution and use in source and binary forms, with or without 
modification, are permitted provided that the following conditions are met:

   * Redistributions of source code must retain the above copyright 
     notice, this list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above copyright 
     notice, this list of conditions and the following disclaimer in the 
     documentation and/or other materials provided with the distribution.
   * Neither the name of the auther nor the 
     names of its contributors may be used to endorse or promote products 
     derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

○ 商標

  • Linux は Linus Torvalds 氏の日本及びその他の国における登録商標または商標です。
  • その他、本サイトの文書中に記載されている会社名や製品名は、一般に各社の商標または登録商標です。
  • なお、本サイトの文書中では TM および R マークを明記していませんが、権利を侵害する意思や目的等は一切ありません。

○ 参考情報(文献、リンク)

  • Google on Android

    GoogleのAndroidサイトです。ここから後述の開発者用サイトに行ったり出来ます。

  • Open Handset Alliance

    携帯メーカーや通信事業者によって設立された、Android の開発を行う組織です。

  • Android Freeware Directory

    英語のサイトです。Android のフリーソフト関連の情報を集めようとしています。著者が作成した DodgeBalls という超単純ゲームも掲載されています!