4 つの主要なコンポーネント: 1. アクティビティ コンポーネント。これは別のウィンドウであり、プログラム フローは [アクティビティ] で実行する必要があるため、最も基本的なモジュールです。 2. サービスコンポーネントは、ユーザー指定の操作をバックグラウンドで完了するために使用されます。 3. コンテンツ プロバイダー コンポーネントは、すべてのアプリケーション用のコンテンツ ウィンドウを準備し、データベースとファイルを保持します。 4. ブロードキャスト レシーバー コンポーネントは、プログラム間で情報を送信するためのメカニズムであり、その機能は通知を受信または送信することです。
#このチュートリアルの動作環境: Android 13 システム、Xiaomi 12 携帯電話。
Android の 4 つの主要コンポーネントは、アクティビティ、サービス、コンテンツ プロバイダー、およびブロードキャスト レシーバーです。
1. Android の 4 つの主要コンポーネントの詳細説明
1. アクティビティ
アクティビティ Android システムの基盤と見なすことができ、この基盤の上でのみ他の作業を実行できます、Android システムで実行されるすべてのプログラムは [アクティビティ] で実行する必要があるため、最も基本的なモジュールです。 。フレームやページとして機能し、各プログラムは複数の[アクティビティ]から構成されます。
(1) アクティビティは通常、別の画面 (ウィンドウ) です。
(2) アクティビティはインテントを通じて通信します。
(3) Android アプリケーションのすべてのアクティビティは、AndroidManifest.xml 構成ファイルで宣言する必要があります。宣言しないと、システムはアクティビティを認識または実行できません。
2. サービス
サービスは Android の非常に重要なコンポーネントです。そのステータスと優先度はアクティビティと似ています。ただし、サービスは単独で実行できません。実行されるだけです。 Android ではバックグラウンドで。その機能は、Android の他のコンポーネントと対話することであり、たとえば、携帯電話で音楽プレーヤーを開いてバックグラウンドに置くと、このときに再生される音楽はサービスによって制御されます。
1) サービスは、ユーザー指定の操作をバックグラウンドで完了するために使用されます。サービスは 2 つのタイプに分けられます。
started (開始済み): アプリケーション コンポーネント (アクティビティなど) が startService() メソッドを呼び出してサービスを開始すると、サービスは開始済み状態になります。州。
bound (バインディング): アプリケーション コンポーネントが、bindService() メソッドを呼び出してサービスにバインドすると、サービスはバインドされた状態になります。
2) startService() と bindingService() の違い:
started サービス (開始サービス) は、呼び出される startService() メソッドです。他のコンポーネントによって開始されました。これにより、サービスの onStartCommand() メソッドが呼び出されます。サービスが開始状態にある場合、そのライフサイクルはサービスを開始したコンポーネントから独立しており、サービスを開始したコンポーネントが破棄された場合でも、バックグラウンドで無期限に実行できます。したがって、タスクの完了後に stopSelf() メソッドを呼び出すか、他のコンポーネントで stopService() メソッドを呼び出して、サービスを停止する必要があります。
サービスを有効にするには、bindService() メソッドを使用します。呼び出し元とサービスはバインドされます。呼び出し元が終了すると、サービスは終了します。「死」の特性。
3) 開発者は、
4) サービスは通常、バックグラウンドで実行され、ユーザーと対話する必要がないため、サービス コンポーネントにはグラフィカル ユーザー インターフェイスがありません。サービス コンポーネントはサービスの基本クラスを継承する必要があります。サービス コンポーネントは通常、他のコンポーネントにバックグラウンド サービスを提供したり、他のコンポーネントの実行ステータスを監視したりするために使用されます。
3. コンテンツ プロバイダー (コンテンツ プロバイダー)
コンテンツ プロバイダー コンポーネントは、サードパーティ アプリケーション用に特別に設計されており、非常に柔軟で非常に重要です。すべてのアプリケーション用のコンテンツ ウィンドウを準備し、データベースとファイルを保持します。その機能は、これらのサードパーティ ソフトウェアを使用するときに、内部のデータに効果的にアクセスして保護できることです。
1) Android プラットフォームは、アプリケーションの指定されたデータ セットを他のアプリケーションに提供するコンテンツ プロバイダーを提供します。他のアプリケーションは、ContentResolver クラスを通じてこのコンテンツ プロバイダーからデータを取得または保存できます。
2) コンテンツ プロバイダーは、複数のアプリケーション間でデータを共有する必要がある場合にのみ必要です。たとえば、アドレス帳データは複数のアプリケーションで使用されるため、コンテンツ プロバイダーに保存する必要があります。その利点は、データへのアクセス方法を統一できることです。
3) ContentProvider はデータ共有を実装します。 ContentProvider は、データを保存および取得し、すべてのアプリケーションから見えるようにするために使用されます。 Android はすべてのアプリケーションがアクセスできる共通のストレージ領域を提供していないため、これが異なるアプリケーション間でデータを共有する唯一の方法です。
4) 開発者は ContentProvider クラスのオブジェクトを直接使用することはなく、ほとんどの場合、ContentResolver オブジェクトを通じて ContentProvider に対する操作を実装します。
5) ContentProvider は、データ セットを一意に識別するために URI を使用します。ここでの URI には content:// という接頭辞が付けられ、データが ContentProvider によって管理されていることを示します。
4. 放送受信機
Android システムでは、ブロードキャスト レシーバーは直接目には見えませんが、プログラム間で情報を送信するためのメカニズムであり、その機能は通知を受信または送信することです。平たく言えば、ブロードキャスト受信機は配信コンポーネントに似ており、情報を受信し、フィルタリングして応答することもできます。
1) アプリケーションはこれを使用して外部イベントをフィルターし、関心のある外部イベント (電話がかかってきたときやデータ ネットワークが利用可能なときなど) のみを受信して応答することができます。放送受信機にはユーザー インターフェイスがありません。ただし、受信した情報に応じてアクティビティやサービスを開始したり、NotificationManager を使用してユーザーに通知したりできます。通知は、バックライトの点滅、振動、音の再生など、ユーザーの注意を引くためにさまざまな方法で使用できます。一般に、ステータス バーに永続的なアイコンを配置し、ユーザーが開いてメッセージを取得できるようにします。
2) ブロードキャスト受信機の登録には、プログラムへの動的登録と AndroidManifest ファイルへの静的登録の 2 つの方法があります。
3) 動的に登録されたブロードキャスト受信機の特徴は、登録に使用したアクティビティがオフになるとブロードキャストが無効になることです。静的登録では、放送受信機の電源が入っているかどうかを気にする必要がなく、機器の電源が入っていれば放送受信機の電源もオンになります。つまり、アプリ自体が起動していなくても、アプリがサブスクライブしたブロードキャストがトリガーされると影響を受けます。
# 2. Android の 4 つの主要コンポーネントの概要:
#1. 4 つの主要コンポーネントの登録4 主要な基本コンポーネントは使用する前に登録する必要があり、各アクティビティ、サービス、コンテンツ プロバイダーは AndroidManifest ファイルで設定する必要があります。 AndroidManifest ファイルで宣言されていないアクティビティ、サービス、およびコンテンツ プロバイダーはシステムに表示されないため、使用できません。ブロードキャスト レシーバーの登録は、静的登録 (AndroidManifest ファイルで構成) と、コードによる動的作成および Context.registerReceiver() の呼び出しによるシステムへの登録に分けられます。 AndroidManifest ファイルで設定されたブロードキャスト レシーバーは、システムの起動時にアクティブなままであり、対象のブロードキャストが受信されている限り (プログラムが実行されていない場合でも) トリガーされることに注意してください。
2. 4 つの主要コンポーネントのアクティブ化コンテンツ プロバイダーのアクティブ化: ContentResolver からのリクエストを受信した後、コンテンツ プロバイダーがアクティブ化されます。他の 3 つのコンポーネントであるアクティビティ、サービス、およびブロードキャスト レシーバーは、インテントと呼ばれる非同期メッセージによってアクティブ化されます。
3. 4 つの主要コンポーネントの終了コンテンツ プロバイダーは、ContentResolver からのリクエストに応答してのみアクティブ化されます。ブロードキャスト レシーバーは、ブロードキャスト メッセージに応答してのみアクティブになります。したがって、これらのコンポーネントを明示的に閉じる必要はありません。アクティビティの終了: アクティビティの終了() メソッドを呼び出すことで、アクティビティを終了できます。サービスのシャットダウン: startService() メソッドで開始されたサービスの場合は、サービスをシャットダウンするために Context.stopService() メソッドを呼び出す必要があります。bindService() メソッドを使用して開始されたサービスの場合は、Contex.unbindService() メソッドを呼び出してサービスをシャットダウンする必要があります。サービスをシャットダウンします。
4. Android のタスク (アクティビティ スタック)a) タスクは実際にはアクティビティのスタックであり、1 つまたは複数のアクティビティで構成されており、それらが集まって 1 つのタスクを完了します。完全なユーザーエクスペリエンス。スタックの一番下はタスク全体を開始するアクティビティであり、スタックの一番上はユーザーが操作できる現在実行中のアクティビティです。あるアクティビティが別のアクティビティを開始すると、新しいアクティビティがスタックにプッシュされ、現在のアクティビティになります。ランニングアクティビティ。以前のアクティビティはスタックに残ります。ユーザーが BACK キーを押すと、現在のアクティビティがスタックからポップされ、前のアクティビティが現在実行中のアクティビティに戻ります。スタックに保存されるものは実際にはオブジェクトであり、スタック内のアクティビティは再配置されることはなく、プッシュまたはポップされるだけです。
b) タスク内のすべてのアクティビティは全体として移動します。タスク全体 (つまり、アクティビティ スタック) をフォアグラウンドに移動したり、バックグラウンドに後退させたりすることができます。
c) Android システムはマルチタスク (マルチタスク) オペレーティング システムであり、携帯電話で音楽を聴きながら、他の複数のプログラムを実行できます。追加のアプリケーションが実行されるたびに、より多くのシステム メモリが消費されます。同時に実行されるプログラムが多すぎる場合、または閉じられたプログラムがメモリを正しく解放しない場合、システムの動作がどんどん遅くなったり、不安定になったりすることがあります。この問題を解決するために、Android ではライフサイクルという新しいメカニズムが導入されました。
関連知識の詳細については、
FAQ以上がAndroid の 4 つの主要コンポーネントとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!
