Android アプリケーションコンポーネント
アプリケーション コンポーネントは、Android アプリケーションの基本的な構成要素です。これらのコンポーネントは、アプリのマニフェスト ファイルによって疎結合に編成されます。AndroidManifest.xml は、アプリケーションの各コンポーネントと、それらがどのように相互作用するかを記述します。
以下は、Android アプリケーションで使用できる 4 つの主要なコンポーネントです。
| コンポーネント | 説明 |
|---|---|
| Activities | UI を記述し、ユーザーと端末画面との対話を処理します。 |
| Services | アプリケーションに関連するバックグラウンド操作を処理します。 |
| Broadcast Receivers | Android オペレーティングシステムとアプリケーション間の通信を処理します。 |
| Content Providers | データおよびデータベース管理に関する問題を処理します。 |
Activities
アクティビティは、ユーザー インターフェイスを備えた単一の画面を識別します。たとえば、メールアプリケーションには、新しいメールのリストを表示するアクティビティ、メールを作成するアクティビティ、メールを読むアクティビティを含めることができます。アプリケーションに複数のアクティビティがある場合、そのうちの1つがアプリケーション起動時に表示されるものとしてマークされます。
アクティビティはActivityクラスのサブクラスであり、次のようになります。
public class MainActivity extends Activity {
}
Services
サービスは、バックグラウンドで実行され、長時間の操作を実行するコンポーネントです。たとえば、ユーザーが別のプログラムを使用しているときにバックグラウンドで音楽を再生したり、アクティビティでネットワーク経由でデータを取得しながらユーザーの操作をブロックしないようにしたりすることができます。
サービスはServiceクラスのサブクラスであり、次のようになります。
public class MyService extends Service {
}
Broadcast Receivers
ブロードキャストレシーバは、他のアプリケーションまたはシステムから送信されたブロードキャストメッセージに単純に応答します。たとえば、アプリケーションはブロードキャストを開始して、データがデバイスにダウンロードされ、使用可能であることを他のアプリケーションに知らせることができます。ブロードキャストレシーバはこれらの通信を傍受して、適切なアクションを実行します。
ブロードキャストレシーバはBroadcastReceiverクラスのサブクラスであり、各メッセージはIntentオブジェクトの形式でブロードキャストされます。
public class MyReceiver extends BroadcastReceiver {
}
Content Providers
コンテンツプロバイダコンポーネントは、リクエストを介してあるアプリケーションから別のアプリケーションへデータを提供します。これらのリクエストは、ContentResolverクラスのメソッドによって処理されます。これらのデータは、ファイルシステム、データベース、またはその他の場所に保存できます。
コンテンツプロバイダはContentProviderクラスのサブクラスであり、他のアプリケーションがトランザクションを実行できるように、標準の API セットを実装します。
public class MyContentProvider extends ContentProvider {
}
アプリケーションコンポーネントについては、独立した章でこれらのタグの詳細を通じて説明します。
付属コンポーネント
上記のエンティティ、それらの間のロジック、およびそれらの間の接続を構築するために使用される、いくつかの付属コンポーネントがあります。これらのコンポーネントは次のとおりです。
| コンポーネント | 説明 |
|---|---|
| Fragments | アクティビティ内の動作またはユーザーインターフェイスの一部を表します。 |
| Views | 画面上に描画される UI 要素。ボタン、リストなどがあります。 |
| Layouts | 画面形式を制御し、ビューの外観を表示する View の継承。 |
| Intents | コンポーネント間のメッセージ接続。 |
| Resources | 文字列リソース、定数リソース、画像リソースなどの外部要素。 |
| Manifest | アプリケーションの設定ファイル。 |