2016-06-23 9 views
2

私は、下記のAndroidのスタックを理解しようとしています:Application Frameworkおよびライブラリのマネージャクラスは何をしますか?

enter image description here

私はアプリケーション層が何であるかを理解しています。これは、デバイスにインストールされているAndroidアプリケーションのコレクションです。

Linuxカーネル私も理解しているように、Android OSの一部です。

私の質問は、ライブラリアプリケーションフレームワークに関してれます。上に示したライブラリは、OSやSDK(ソフトウェア開発キット)の一部のスクリーンショットにありますか?両方の場合?どうやって?

と同じ質問のアプリケーションフレームワーク。それは開発者のSDKの一部ですか、特にAndroid OS用のものですか?私は通常、ActivityManagerWindowManager、およびNotificationManagerのようなクラスの使用を見ていない。これは、スクリーンショットに従ってシステム自体やユーザーが使用することを意味しますか?

+0

この図は特に正確ではありません。 – CommonsWare

+0

android internalsについてのGoogle.io 2008の素晴らしい話。 https://m.youtube.com/watch?list=PLE8CDBA3299986E8B&v=G-36noTCaiA – MidasLefko

答えて

2

投稿したダイアグラムは、Android搭載端末のソフトウェアの図です。 Androidアプリケーションを開発するために利用できるAndroid SDKは、決して表現されていません。

ライブラリ階層にリストされているライブラリは、Androidオペレーティングシステム自体にあります。同様に、アプリケーションフレームワークレイヤにリストされている項目は、オペレーティングシステムによって提供されます。

Android SDKは、オペレーティングシステムの要素とやりとりするためのインターフェイスを開発者に公開します。たとえば、OS自体に通知の表示(および管理)を担当する通知マネージャがある場合、SDKはNotificationManagerクラスを公開し、開発者は通知システムと対話できます。すべてのOSコンポーネントにSDKの対応があるわけではなく、その逆もあります。

この図では、必ずしもすべてのデバイスに存在することは保証されていません。メーカーはAndroidをフォークして特定のコンポーネントを削除したり、Androidの新しいバージョンではその図を古いものにすることがあります。 Androidの全体的なアーキテクチャの図としてのみ存在します。

+0

一般的に理解されている[ソフトウェアフレームワーク](https://en.wikipedia.org/wiki/Software_framework)は、開発者がアプリケーションのフレームワークという用語は、ここでの用語はAndroid固有のものでなければ、少し奇妙に見えますか? – user963241

+0

これは広義で、Androidフレームワークは大きくなっています。このダイアグラムが伝えようとしている主要な取り組みは、Androidの全体的なアーキテクチャです。 "Applications Framework"層に関して、この図は、アプリケーションがコアライブラリとAndroidランタイム上に構築されたアプリケーションフレームワークの上に構築されることを示しています。あなたはそれ以上読んではいけません。 –

関連する問題