デベロッパー ガイドのアプリの基礎の分かりにくいところ
知っていること
知らないこと
APK
AAB
SDK
アプリコンポーネント
エントリポイント
アクティビティ
サービス
ブロードキャストレシーバ
コンテンツプロバイダ
コンポーネントを有効にするとは?
アプリの基礎
Android アプリは、Kotlin、Java プログラミング言語、C++ 言語を使用して記述できます。Android SDK Tools は、データやリソース ファイルとともにコードを APK または Android App Bundle にコンパイルします。
APKとは
- Android Package Kit(APK) は、Androidアプリケーションを配布およびインストールするためのパッケージファイル形式で、拡張子は.apk
- APKファイルには、アプリの実行に必要なすべてのコンポーネント(コード、リソース、アセットなど)が含まれている
Android App Bundleとは
- Android App Bundle(AAB) は、Google Playストア向けの配布形式で、APKよりも効率的にアプリを配布するための方法
- 複数のファイルやディレクトリを一つのファイルにまとめて圧縮されたファイル(アーカイブファイル)で、拡張子は.aab
- 仕様や形式が一般に公開され、誰でも利用可能な形式
- 直接Androidデバイスにインストールできないが、Google Playなどのサービスを通じて、デバイスに適したAPKが生成され、インストールされる
Android SDKとは
- Android Software Development Kit(Android SDK) は、Androidアプリケーションを開発するために必要なツールとライブラリのセットのこと
- SDKは、開発者が効率的かつ効果的にAndroidアプリを作成、テスト、デバッグするためのリソースを提供する
- Android SDKは主にAndroid Studioで使用される
アプリ コンポーネント
アプリ コンポーネントは、Android アプリに不可欠な構成要素です。各コンポーネントは、システムやユーザーがアプリを起動するためのエントリ ポイントです。一部のコンポーネントは、他のコンポーネントに依存しています。
エントリポイントとは
- Androidアプリにおいてエントリポイントは、アプリがどのように起動されるかを決定する場所
- 最初に動作を開始するコンポーネント
アクティビティとは
- ユーザーとやり取りするためのエントリ ポイント
- ユーザー インターフェースを含む 1 つの画面を表す
- アクティビティは、Activity クラスのサブクラスとして実装する
サービスとは
- バックグラウンドで実行されるコンポーネント
- サービスは、Service のサブクラスとして実装される
ブロードキャストレシーバとは
- ブロードキャストメッセージを受け取るコンポーネント
- ブロードキャストメッセージとは、システム全体通知のこと
- これにより、アプリはシステム全体のイベントや状態の変化に対して適切に応答することができる
コンテンツ プロバイダとは
- デバイスがアクセスできる永続ストレージの場所に保存できるアプリデータの管理をする
コンポーネントを有効にするとは?
- アプリ内の各コンポーネント(アクティビティ、サービス、ブロードキャストレシーバ、コンテンツプロバイダ)が動作を開始すること
- これらのコンポーネントが特定のタスクを実行するためにアクティブとなることを意味する
- インテント(Intent)やその他のメカニズムを使って、これらのコンポーネントを呼び出すことができる
- インテントは、コンポーネントを有効にするための非同期メッセージのこと