Android Jetpack を使ってみる

Jetpack には Android ライブラリのコレクションが含まれており、これらのライブラリを Android アプリで利用すると、おすすめの方法を取り入れて、下位互換性を提供できるようになります。

Jetpack によるアプリ アーキテクチャ ガイドでは、Android アプリを構築する際に考慮するおすすめの方法と推奨アーキテクチャについて概説しています。

以下のセクションでは、Jetpack コンポーネントを使ってみる方法について説明します。

アプリで Jetpack ライブラリを使用する

Jetpack のコンポーネントはすべて Google Maven リポジトリで入手できます。

プロジェクトbuild.gradle ファイルを開き、下記のように google() リポジトリを追加します。

    allprojects {
        repositories {
            google()
            jcenter()
        }
    }
    

次に Jetpack コンポーネントを追加します。たとえば下記に示すように、Lifecycles ライブラリの一部である LiveDataViewModel のようなアーキテクチャ コンポーネントを追加します。

    dependencies {
        def lifecycle_version = "2.0.0"
        implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
        // Optional : Kotlin extension (https://d.android.com/kotlin/ktx)
        implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
        ...
    }
    

上記の lifecycle-viewmodel-ktx のように、Jetpack ライブラリの多くは Android KTX 拡張機能も提供します。KTX 拡張機能は Java API をベースとし、Kotlin 固有の言語機能を活用して構築されています。

新しい Jetpack ライブラリのリリースについては、リリースに関するページをご確認ください。

Jetpack のどのライブラリでも、Kotlin ベースの API と Java ベースの API のリファレンス ページが用意されています。

Jetpack を活用する

Jetpack コンポーネントは、アプリのさまざまなニーズに応えるために、スタンドアロン コンポーネントとして使用することも、組み合わせて使用することもできます。

  • WorkManager: バックグラウンドでのスケジューリングのニーズに応じます。
  • Room: データ ストレージを永続化します。
  • Navigation: アプリのナビゲーション フローを管理します。
  • CameraX: カメラアプリのニーズに応じます。
  • その他

Jetpack の使用方法について詳しくは、下記のページをご覧ください。

その他のリソース

オンライン トレーニング

サンプルコード

  • Sunflower デモアプリでは、Android での開発に関するおすすめの方法を説明するために、各種の Jetpack コンポーネントが使用されています。

コードラボ