The Android Developer Challenge is back! Submit your idea before December 2.

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 とビューなど)も用意されており、スタートガイドとして参考になります。

詳細