Jetpack には Android ライブラリのコレクションが含まれており、これらのライブラリを Android アプリで利用すると、おすすめの方法を取り入れて、下位互換性を提供できるようになります。
Jetpack によるアプリのアーキテクチャ ガイドでは、Android アプリを構築する際に考慮するおすすめの方法と推奨アーキテクチャについて概説しています。
以下のセクションでは、Jetpack コンポーネントを使ってみる方法について説明します。
アプリで Jetpack ライブラリを使用する
Jetpack のコンポーネントはすべて Google Maven リポジトリで入手できます。
settings.gradle
ファイルを開き、次のように dependencyResolutionManagement { repositories {...}}
ブロックに google()
リポジトリを追加します。
Groovy
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() jcenter() } }
Kotlin
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() jcenter() } }
次に、Jetpack コンポーネント(LiveData や ViewModel のようなアーキテクチャ コンポーネントなど)をモジュールの build.gradle
ファイルに追加します。以下に例を示します。
Groovy
dependencies { def lifecycle_version = "2.2.0" implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" ... }
Kotlin
dependencies { val lifecycle_version = "2.2.0" implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version") implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version") ... }
上記の lifecycle-livedata-ktx
と lifecycle-viewmodel-ktx
のように、Jetpack ライブラリの多くは Android KTX 拡張機能を提供します。
KTX 拡張機能は Java API をベースとし、Kotlin 固有の言語機能を活用して構築されています。
新しい Jetpack ライブラリのリリースについては、リリースに関するページをご確認ください。
Jetpack のどのライブラリでも、Kotlin ベースの API と Java ベースの API のリファレンス ページが用意されています。
Jetpack の依存関係を確認する(省略可)
2023 年 6 月の時点で、Jetpack チームが Jetpack ライブラリに署名しています。これらの 署名により、デベロッパーは、ライブラリ アーティファクトがビルドされ、 Google によって署名されたものです。署名されたライブラリが署名検証を受けられるようになると、 アップデートが公開されます
Android プロジェクトで署名検証が有効になっている場合は、次の手順を行います。 Gradle プロジェクトで Jetpack の依存関係を確認する方法は次のとおりです。
Google の信頼できる鍵を
<trusted-keys>
セクションに追加する$PROJECT_ROOT/gradle/verification-metadata.xml
:<trusted-keys> <trusted-key id="8461efa0e74abae010de66994eb27db2a3b88b8b"> ... </trusted-key> <trusted-key id="a5f483cd733a4ebaea378b2ae88979fb9b30acf2"> ... </trusted-key> ... </trusted-keys>
プロジェクトが使用するライブラリごとに
<trusting group>
エントリを追加します。androidx.fragment
ライブラリとandroidx.emoji2
ライブラリの例を次に示します。<trusted-keys> <trusted-key id="8461efa0e74abae010de66994eb27db2a3b88b8b"> <trusting group="androidx.fragment"/> <trusting group="androidx.emoji2"/> </trusted-key> <trusted-key id="a5f483cd733a4ebaea378b2ae88979fb9b30acf2"> <trusting group="androidx.fragment"/> <trusting group="androidx.emoji2"/> </trusted-key> ... </trusted-keys>
依存関係の検証に関する問題については、以下に関する Gradle のガイドをご覧ください。 依存関係の検証のトラブルシューティング
最後に、信頼できる鍵の詳細は以下で確認できます: Ubuntu のキーサーバー サイト。
Jetpack を活用する
Jetpack ライブラリは、アプリのさまざまなニーズに応えるために、単独で使用することも、組み合わせて使用することもできます。
- WorkManager: バックグラウンドでのスケジューリングのニーズに応じます。
- Room: データ ストレージを永続化します。
- Navigation: アプリのナビゲーション フローを管理します。
- CameraX: カメラアプリのニーズに応じます。
- すべての Jetpack ライブラリの概要をご覧ください。
Jetpack ライブラリは、androidx
名前空間内に公開されます。プロジェクトが現在 Android サポート ライブラリを使用している場合は、androidx 名前空間への移行方法についての説明をご覧ください。
Jetpack の使用方法について詳しくは、下記のページをご覧ください。
その他のリソース
オンライン トレーニング
- Kotlin による Android アプリの開発(Udacity コース)
サンプルコード
- Sunflower デモアプリでは、Android での開発に関するおすすめの方法を説明するために、各種の Jetpack コンポーネントが使用されています。