이동식 저장소

[Hilt] Application 본문

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()      // 접근가능
    }
}

 

'Primary > Android' 카테고리의 다른 글

[Hilt] ViewModels  (0) 2022.08.29
[Hilt] Android Entry Points  (0) 2022.08.11
[Android] 계정명이 한글일 때 test error 해결법  (0) 2022.07.26
[Android] Manifest 파일이란?  (0) 2022.07.25
[Android] Build variant 심화  (0) 2022.07.21
Comments