はじめに
第1回目の本稿は、開発を行うための準備として、Java開発ツールやSDK、Androidエミュレータのインストール方法を紹介しましょう。
対象読者
Androidアプリケーションの開発を始めたい方で、JavaとEclipseのごく基本的な知識がある方を対象とします。
Androidとは
ご存じの通り、Android(アンドロイド)とは、米グーグル社が無償で提供しているモバイル端末向けのプラットフォームです。Androidのアーキテクチャーは、Linuxベース(カーネルバーション2.6)となっており、そこに一般的な機能を提供するC言語のライブラリやDalvik VM(仮想マシン)と呼ばれるJava仮想マシンを含むランタイムが搭載されています。そしてその上に、アプリケーションフレームワークがあり、いわゆるAPIとしてAndroidの機能を提供しています。
通常のアプリケーションは、このフレームワークを通して、Android独自の機能を利用しますが、Androidアプリケーションには、Windowsなどのアプリケーションにはない特徴があります。それはAndroidアプリケーションを作っていく上での、最初の「とまどい」になるかもしれません。具体的には、次回以降追って説明することにします。
Androidのバージョン
Androidは大変活発に開発されており、短いスパンで頻繁にバージョンが更新されています。それに伴い、アプリケーション開発に用いるSDKも、バージョンアップが繰り返されています。SDKは、Android Developersサイトで公開されており、この記事の執筆時点では、Androidバージョン3.0に対応したSDKが最新となっています。
次の表は、Androidのバージョンとそのコードネーム、対応するAPIレベルを示しています(2011年5月11日にAndroid 3.1プラットフォームとそれに対応したSDKがリリースされました)。
バージョン | コードネーム | APIレベル |
1.5 | Cupcake | 3 |
1.6 | Donut | 4 |
2.0 | Eclair | 5 |
2.0.1 | Eclair | 6 |
2.1 | Eclair | 7 |
2.2 | Froyo | 8 |
2.3 | Gingerbread | 9 |
2.3.4 | Gingerbread | 10 |
3.0 | Honeycomb | 11 |
3.1 | Honeycomb | 12 |
今回の連載では、最新のバージョンにこだわる必要性はあまりありませんが、SDKとしては最新(3.0)のものを利用することにします。なお、APIレベルとは、APIのバージョン番号のようなものです。SDKには上位互換性があり、たとえばAPIレベル4に対応したSDKで作られたアプリケーションは、それ以上のバージョンの環境で動作します。ただしその逆では動作の保証はありません。
Java SEとは
通常Java SEとは、PCのスタンドアローンのアプリケーションで利用するJava環境を総称したものを指します。つまり、もっとも基本となるJava環境で、多様な機能を実現するためのAPIやライブラリ、開発ツールなどが含まれています。
Androidが提供するDalvik VM環境は、このJava SEから、SwingやAWTといったPC用のAPIを除いて、Android独自のAPIを追加したものになっています。
本連載では、Java SEのなかでも、Androidで利用できるものを解説していきます。
Javaのバージョン履歴
Javaの最初のリリースは、JDK(Java Development Kit、Java開発キット)1.0です。JDKとは、Java言語での開発に必要となる最低限のソフトウェアセットの総称で、ソースファイルをクラスファイルにコンパイルするための開発用ツールや、クラスライブラリ(Java SE API)、Javaプログラム実行環境(JRE)などが含まれます。
はじめてリリースされたあと、Javaはバージョンアップと名称の変更を重ね、次のように変遷しています。
名称 | リリース時期 | 主な技術要素 |
JDK 1.0 | 1996/1 | |
JDK 1.1 | 1997/2 | 国際化、JDBC |
J2SE 1.2 (Java 2 Platform, Standard Edition) |
1998/12 | リフレクション、ジャストインタイムコンパイラ |
J2SE 1.3 | 2000/5 | HotSpot、JavaSound |
J2SE 1.4 | 2002/2 | NIO、イメージ I/O API |
J2SE 5.0 | 2004/9 | ジェネリック、アノテーション |
Java SE 6 | 2006/12 | スクリプティング、JavaコンパイラAPI |
名称の変更からわかるように、Javaは2度大きく変わっています。
1度目の刷新は、Javaの正式名称がJava 2になったJ2SE 1.2です。従来のJDKに相当するパッケージを、J2SEと呼ぶようになり、実行環境に合わせた3つのエディション(SE、EE、ME)に分けられました。前述したようにSEはデスクトップ用で、EEは主に大規模システム(サーバサイド)用、EEは機器の組み込み用途です。
2回目は、J2SE 5.0です。J2SE 1.4から言語仕様が大きく拡張され、ジェネリック、アノテーション、オートボクシング/アンボクシング、enum、拡張forループ文といった機能が追加されました。名称は、当初J2SE 1.5と呼ばれていたものが、後にJ2SE 5.0が正式名称となりました。
またJava SE 6からは、それまでのJ2SEという呼称をあらため、正式名称としてJava SEと呼ぶようになり、バージョン番号の小数点以下の表記も廃止されました。
なお、Androidが提供するDalvik VM環境は、J2SE 5.0以降のJavaをベースとしています。