初心者用Android入門
TOP 1.はじめに 2.開発環境の構築 3.ライフサイクル 4.アプリケーション 5.GoogleMapアプリ

コンポーネント

 Androidの特徴として、あるアプリケーションから別のアプリケーションの機能の一部を利用できることが挙げられます。 これを実現するためには、アプリケーションの一部分を必要に応じて開始(Javaのインスタンス化)できる必要があります。 そのため、Andoroidアプリケーションにはmain関数のようなアプリケーション全体にアクセスするような単一のエントリーポイントがありません。 その代わりに、必要に応じてアプリケーションの一部分をインスタンス化して実行するコンポーネントで構成されています。 コンポーネントには「アクティビティ」「サービス」「ブロードキャストレシーバ」「コンテンツプロバイダ」の4つがあります。

 アクティビティ(Activity)とは、Androidアプリケーションの1つの画面に相当します。 プロジェクトの作成の「HelloWorld」と表示した画面も1つのアクティビティです。 HelloWorld.javaのソースから、HelloWorldクラスがActivityのサブクラスであるように、 アクティビティはActivityクラスのサブクラスとして実装されます。

 サービスとはアクティビティのような視覚的なインタフェースを持たず、バックグラウンドで動作します。 ユーザが何か操作している間に裏で音楽を流したり、何か値を計算してその結果をアクティビティに渡したり するようなものが考えられます。 サービスはServiceクラスのサブクラスとして実装されます。

 ブロードキャストレシーバとは、ブロードキャストを受信してそれに対処するコンポーネントです。 システムが発信するブロードキャストとしては、たとえばタイム ゾーンが変更されたこと、 バッテリーの残量が少なくなったこと、写真が撮影されたことなどが挙げられます。 ブロードキャストレシーバはBroadcastReceiverクラスのサブクラスとして実装されます。

 コンテンツプロバイダとは、アプリケーションのデータを他のアプリケーションでも利用できるようにするコンポーネントです。 データはファイルで保存されているものやSQLiteというデータベースなど、一般に利用できる方法で格納されていれば使用できます。 コンテンツプロバイダはContentProviderクラスのサブクラスとして実装されます。

インテント

 上記で説明した4つのコンポーネントのうち アクティビティ、サービス、ブロードキャストレシーバの3つは、 インテントと呼ばれる非同期メッセージによってアクティブ化されます。 アクティビティとサービスの場合は リクエストされているアクションを指名し、その対象となるデータの URI を指定する役割を持ちます。 なお、コンテンツプロバイダに関してはContentResolver からのリクエストによりアクティブ化されます。

[戻る]  [TOP]  [次へ]


This website is link free.
All graphics and page design, Copyright © 初心者用Android入門

Portions of this page are modifications based on work created and shared by Google and
used according to terms described in the Creative Commons 3.0 Attribution License.