AndroidのHiltのCodelabsをやってみた

Androidの最新技術Hiltを使ってみたいと思った
そしたら勉強だ!
Codelabsにあったので試してやってみた


・Codelabs
https://developer.android.com/codelabs/android-hilt?hl=ja&continue=https%3A%2F%2Fcodelabs.developers.google.com#0

 

・サービスロケータ
デザインパターンで、インスタンスを管理するコンテナクラスを作る
PHPのこのコードむちゃくちゃ分かりやすい

 

・アノテーション
@HiltAndroidApp
Applicationクラスにつける

@AndroidEntryPoint
ActivityやFragmentにInjectできるようにするためにつける

@Inject
依存関係コンテナで作成されたインスタンスを onAttach() ライフサイクルメソッドでこれらのフィールドに入力します。

 

・Contextはすでに定義されてる
HiltだとAndroidで使いやすいように、一部はすでに定義されてる
@ApplicationContext
また、@ActivityScopedも既にある
https://qiita.com/karass/items/0d4ae10ce74855eac2cb

 

・ApplicationComponent
これ最新のHiltだと動かないwwwwww
ApplicationComponentはSingletonComponentに置き換える必要がある
https://stackoverflow.com/questions/65266636/is-applicationcomponent-deprecated

@InstallIn(SingletonComponent::class)

 

・EntryPointAccessors
EntryPointAccessorsでhiltで使えないコードをDIできる

 

Dagger使い始めたばかりなのに・・・・
時代はどんどん変わりますね
まだまだ続くよ

関連記事:

Pocket