Androidとは
原文:http://developer.android.com/guide/basics/what-is-android.html
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Androidは、オペレーティングシステム、ミドルウェア、主要なアプリケーションを含むモバイル端末用のソフトウェアスタックです。Android SDKでは、Java言語を利用してAndroidプラットフォーム上で動作するアプリケーションの開発を始めるのに必要なツールやAPI群を提供します。
特徴 |
- アプリケーションフレームワーク コンポーネントの再利用や再配置が可能
- Dalvikバーチャルマシン モバイル端末用に最適化
- 統合ブラウザ オープンソースであるWebKitエンジンベース
- 最適化されたグラフィックス カスタム2DグラフィックスやOpenGL ES 1.0仕様に準拠した3Dグラフィックスを搭載
- SQLite 構造化データストレージ用
- メディアサポート 一般的なオーディオ、ビデオ、静止画フォーマット(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)対応
- GSM通信 (ハードウェア依存)
- Bluetooth、EDGE、3G、WiFi (ハードウェア依存)
- カメラ、GPS、コンパス、加速度計 (ハードウェア依存)
- リッチな開発環境 端末エミュレータ、デバッグ用ツール、メモリやパフォーマンスのプロファイリング、Eclipse IDE用のプラグイン
Androidアーキテクチャ |
アプリケーション |
アプリケーションフレームワーク |
全アプリケーションの基本構成(サービス、システム、含まれるもの)です。
- リッチで拡張性の高いビューのセット。アプリケーションを開発するのに利用され、リスト、グリッド、テキストボックス、ボタンに加え、組込用Webブラウザも含まれています。
- コンテントプロバイダ。他のアプリケーションから(アドレス帳のような)データにアクセスしたり、データを共有したりすることができます。
- リソースマネージャ。ローカライズされた文字列、グラフィックス、レイアウトファイルのような非ソースコードへのアクセスを提供します。
- 通知マネージャ。全てのアプリケーションがステータスバーにカスタムの警告を表示できるようになります。
- アクティビティマネージャ。アプリケーションのライフサイクルを管理し、共通のナビゲーション履歴を提供します。
詳細と実例に関しては、「メモ帳チュートリアル」を参照してください。
ライブラリ |
- システムCライブラリ BSDによって開発された標準的なCシステムライブラリ(libc)。Linuxベースの組込端末用に最適化。
- メディアライブラリ PacketVideoのOpenCOREベース。このライブラリは、一般に普及している多くのオーディオ・ビデオフォーマットの再生と記録をサポート。さらに、MPEG4, H.264, AAC, AMR, JPG, PNGを含む静止画像もサポート。
- サーフィスマネージャ ディスプレイサブシステムへのアクセスを管理。また、複数のアプリケーションから2D及び3Dグラフィックスをシームレスに合成。
- LibWebCore Androidブラウザと組込Webビューの両方に採用されている最新のWebブラウザエンジン
- SGL 基礎となる2Dグラフィックスエンジン
- 3Dライブラリ OpenGL ES 1.0 APIに準拠。ハードウェア3Dアクセラレーション(ハードウェア依存)か内蔵の、高度に最適化された3Dソフトウェアラスタライザーのどちらかを使用。
- FreeType ビットマップとベクトルフォントレンダリング
- SQLite 強力で軽いリレーショナルデータベースエンジン。全アプリケーションで利用可能。
Android ランタイム |
各Androidアプリケーションは、Dalvik VMのインスタンスを生成することによって、独立したプロセスで動作します。Dalvikは効率的に複数のVMが動作できるように実装されています。Dalvik VMは、少ないメモリ領域でも動作するよう最適化されたDalvik Executable(.dex)フォーマットのファイルを実行します。VMはレジスタベースです。Javaコンパイラによってコンパイルされ、標準装備のdxツールで.dexフォーマットに変換されたクラスを実行します。
Dalvik VMはスレッディングやローレベルなメモリ管理のような下位層の機能はLinuxカーネルに依存しています。
Linuxカーネル |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
翻訳はここまでです。SDK1.0からの違いはほとんどありません。1.0ドキュメントにはベータバージョンと書かれていたのですが、その記述が消えているぐらいです。
今まで3つに分かれていた訳文を1つにし、原文構成に合わせました。
*1:アドレス帳のことだと思います。