ダウンロード サンプルファイル (37.0 KB)
Androidアプリケーションは、Java言語を用いて開発することができます。Androidアプリケーションの開発にあたっては、グーグル社が提供するAndorid SDK(Software Development Kit、開発キット)の知識を要するのは当然ながら、基本となるのはJava SEです。この連載では、Javaでの開発の基礎となるJava SEを、実際にAndorid上で実行できるソースコードとともに解説します。
はじめに
第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をベースとしています。
この記事は参考になりましたか?
- Android開発のためのJava SE再入門連載記事一覧
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト 高江 賢(タカエ ケン)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
