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 デモアプリをご確認ください。このアプリはさまざまな Jetpack コンポーネントを組み合わせて使用し、Android 開発でのおすすめの方法の例を示します。実戦形式のコードラブに多数のチュートリアル(Android のライフサイクルRoom とビューなど)も用意されており、スタートガイドとして参考になります。

詳細