Primary/Android
[Hilt] Application
해스끼
2022. 8. 11. 20:54
Hilt를 사용하려면 ``Application`` 클래스에 ``@HiltAndroidApp`` 어노테이션을 붙여야 한다. ``@HiltAndroidApp``은 Hilt component 코드를 만드는 시발점이다.
@HiltAndroidApp
class MyVocaApplication: Application() {
@Inject lateinit var foo: Foo
}
사실 ``Application``도 Hilt의 entry point이다. 따라서 ``Application``에서도 변수를 주입받을 수 있으며, 해당 변수는 ``super.onCreate()`` 안에서 주입된다. 물론 해당 변수를 제공할 바인딩이 ``SingletonComponent``에 존재해야 한다.
잠깐 복습! 바인딩의 위치를 결정하는 건 module의 component이다.

@HiltAndroidApp
class MyVocaApplication: Application() {
@Inject lateinit var foo: Foo
override fun onCreate() {
super.onCreate() // 여기서 foo가 inject됨
foo.doSomething() // 접근가능
}
}