0Pricing
Android Academy · レッスン

Hiltを設定する

Hiltとアプリケーションコンポーネントを追加します

「Hiltを設定する」はCoddyKit上の無料Android Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはAndroid Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Android Academyコースには全4レッスンが含まれています。

プロジェクトに Hilt を追加する

Hilt には、Gradle プラグインと依存関係に加えて、アノテーションプロセッサ(KSP または kapt)が必要です。設定はプロジェクトごとに一度だけ行います。

Gradle プラグイン

KSP と合わせて、モジュールのビルドファイルに Hilt プラグインを適用します。

// module build.gradle.kts
plugins {
    id("com.google.dagger.hilt.android")
    id("com.google.devtools.ksp")
}

依存関係

Hilt のランタイムとコンパイラを追加します。

dependencies {
    implementation("com.google.dagger:hilt-android:2.x")
    ksp("com.google.dagger:hilt-compiler:2.x")
}

Application にアノテーションを付ける

Hilt にはアプリレベルのエントリポイントが必要です。@HiltAndroidApp のアノテーションを付けた Application のサブクラスを作成します。

import android.app.Application
import dagger.hilt.android.HiltAndroidApp

@HiltAndroidApp
class MyApp : Application()

マニフェストに登録する

マニフェストの application タグで、このクラスを指定します。

<application
    android:name=".MyApp"
    ... >

@HiltAndroidApp の役割

Hilt のコード生成を開始し、依存関係グラフ全体のルートとなるアプリケーションレベルの依存関係コンテナを作成します。

Activity で注入を有効にする

注入が必要な Activity に @AndroidEntryPoint のアノテーションを付けます。

import dagger.hilt.android.AndroidEntryPoint

@AndroidEntryPoint
class MainActivity : ComponentActivity() {
    // Hilt can now inject members here
}

他のクラスのエントリポイント

@AndroidEntryPoint は Fragment、Service、BroadcastReceiver にも使用できます。それぞれを適切なスコープで Hilt グラフに接続します。

フィールド注入

エントリポイント内では、フィールドに @Inject を付けて依存関係を要求できます。

@AndroidEntryPoint
class MainActivity : ComponentActivity() {
    @Inject lateinit var analytics: Analytics
}

コンポーネント階層

Hilt は階層を生成します:SingletonComponent(アプリ) → ActivityRetainedComponent → ViewModelComponent → ActivityComponent。それぞれに対応するスコープアノテーションがあります。

設定チェックリスト

  • Hilt と KSP のプラグインを適用します。
  • ランタイムとコンパイラの依存関係を追加します。
  • @HiltAndroidApp を付けた Application を作成します。
  • 利用側に @AndroidEntryPoint を付けます。

クイックチェック

Hilt の設定について理解度を確認しましょう。

まとめ

学んだこと:

  • Hilt と KSP のプラグインを適用し、依存関係を追加します。
  • Application に付けた @HiltAndroidApp がルートコンテナを作成します。
  • @AndroidEntryPoint により、Activity や Fragment で注入が有効になります。
  • フィールド注入には @Inject を使用します。

よくある質問

「Hiltを設定する」レッスンは無料ですか?

はい。「Hiltを設定する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Android Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Android Academyコースには全4レッスンが含まれています。

「Hiltを設定する」で何を学びますか?

Hiltとアプリケーションコンポーネントを追加します ブラウザで直接実行するハンズオンコードでAndroid Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Android Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのAndroid Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Hiltを設定する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このAndroid Academyレッスンでコードを書いて実行できますか?

はい。すべてのAndroid Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 依存性注入を使う理由
  2. Hiltを設定する
  3. モジュールとプロバイダー
  4. ViewModelに注入する
← Android Academyに戻る