Tips

Android 概要 【Android Tips】

Androidの導入

1
導入
Androidの概要とアーキテクチュア
この章ではAndroidという名のモバイルデバイス向けソフトウェアプラットフォームの概要について解説していきます。
Android 概要

Androidはモバイルデバイス向けのソフトウェアプラットフォームで、オープンソースかつ無償です。アプリケーション開発キットであるAndroid SDK、モバイルデバイスを動作させるLinuxベースのモバイル用オープンソースOSとミドルウェア、開発作業を円滑に行うツール類で構成されています。


日本とアメリカのモバイルデバイス向けのOSのシェアでは、2012年の段階でiOSやBlackBerryを抑え1位でした。これはOSにAndroidを搭載している機種が多数存在しているからとも言えます。

Android SDK
Android SDK(Software Development Kit.)は、様々な対象に対応するアプリケーションを作成するための開発ツールのセットです。Android SDKにはAndroidプラットフォーム上で動作するアプリケーションを開発するためのライブラリ、エミュレータ(PC上で動作する仮想のAndroid)、サンプルソースやデバッガなどの開発ツールが含まれています。

 

Androidの開発ライブラリはJavaのライブラリとして提供されており、このライブラリを使用することで、開発者はJavaでAndroidアプリケーションを開発することができます。また、Android SDKはwindows,Linux,Macといった主要3種類のOS上で動作します。

 

このSDKのバージョンアップは頻繁に行われていますが、新しいバージョンは必ず古いバージョンとの互換性をもっています。そのため、古いバージョン特有の機能を使用しない場合、古いバージョンに合わせて作成した方が幅広く対応できるといっても過言ではないでしょう。

OS APIレベル コードネーム
Android 1.0 1 非公開
Android 1.1 2
Android 1.5 3 Cupcake
Android 1.6 4 Donut
Android 2.0 5 Eclair
Android 2.0.1 6
Android 2.1 7
Android 2.2 8 Froyo
Android 2.3 9 Gingerbread
Android 2.3.3 10
Android 3.0 11 Honeycomb
Android 3.1 12
Android 3.2 13
Android 4.0 14 IceCreamSandwich
Android 4.0.3 15
Android 4.1 16 Jelly Bean
Android 4.2 17
Android アーキテクチュア
Androidの基本構成は図のようになっています。

それでは一つ一つ確認していきましょう。
Linuxカーネル
Linuxカーネルは以下のものを含んでおり、いずれも通常のディストリビューションと同様に必要不可欠な機能です。

    • メモリ管理
    • プロセス管理
    • ファイル
    • システム
    • セキュリティ
    • Androidが動作するハードウェアの機能に必要なドライバー

ライブラリ
「Linuxカーネル」層の上位層となるのは「ライブラリ」層です。
これらのライブラリはC/C++言語で作成されていて、アプリケーション開発者が直接使用することはできません。しかしながら、上位層である「アプリケーションフレームワーク」層を通じて間接的に使用されます。

ライブラリ名 概要
Surface Manager 2D、3Dグラフィックレイヤーを合成する
Media Framework オーディオとビデオの再生と記録をサポートする(AAC, MP3, MPEG4, H.264)
SQLite 実行負荷が少なく、使用方法が簡単なRDB
OpenGL ES ハードウェアの3Dアクセラレーション、3Dソフトウェアラスタライザ
Free Type フォントのレンタリングを行う
WebKit HTMLレンタリングエンジン
Webブラウザにページの基本的なレンダリング機能を提供
SGL 2Dグラフィックエンジン
libc 標準的なCライブラリをAndroid向けに最適化したもの
Androidランタイム
Androidランタイムは、Oracle Java言語に準拠した基本的なAPIを提供するコアライブラリと、Androidアプリを実行するDalvik仮想マシン(DVM)により構成されています。
Dalvik仮想マシンとはGoogle社のエンジニアが、Androidプラットフォームの為に設計・開発したレジスタベースの仮想マシンです。低メモリシステムに最適化されており、OSによるプロセス管理、メモリ管理、スレッドのサポートを用いて、複数のアプリケーションが同時に動作できるように設計されています。

アプリケーションフレームワーク
Android SDKに含まれるAPI(Application Program Interface)の大部分は、アプリケーションフレームワークです。「ガラケー」と呼ばれる携帯電話とは異なり、システム標準のアプリケーションも、サードパーティーの開発者が作成したアプリケーションも、すべて同じAPIが使用可能です。

ライブラリ名 概要
Activity Manager アプリケーションのライフサイクルを管理
Content Providers アプリケーション間で共有するデータ管理
View System リスト、テキストボックス、ボタンなどを含む
アプリケーション構築に使用するウィジェットのセット
Window Manager ユーザーインタフェースの基本的な機能を提供
Notification Manager ステータスバーへのアラートやLED、
バックライトなどを使用して通知する機能
Package Manager 全アプリケーションパッケージの管理
Resource Manager ローカライズされた文字列やグラフィックス、
レイアウトファイルなどの管理
Location Manager モバイルデバイスの位置情報を提供
Telephony Manager 電話機そのものの機能にアクセスする
アプリケーション
Androidアーキテクチャの最上位層となるのは「アプリケーション」層です。
ホーム、コンタクト、電話といったアプリケーションがあらかじめ含まれています。
アプリケーション開発者が作成した様々なアプリケーションもこの層に位置づけられています。

Androidアプリ開発の必須知識!JAVAプログラミングを学べる連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search