Middle
Como realizar a injeção de dependências em um campo usando Dagger Hilt?
sobes.tech IA
Resposta da IA
A injeção de dependência em um campo usando Dagger Hilt é feita usando a anotação @Inject antes da declaração do campo em uma classe anotada com @AndroidEntryPoint.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Esta classe será injetada na aplicação
class MyActivity : AppCompatActivity() {
@Inject // Injetando dependência
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
A anotação @Inject indica ao Hilt que este campo necessita de uma dependência. O Hilt encontrará um provedor correspondente (por exemplo, um módulo Dagger) para o tipo MyDependency e fornecerá uma instância desse tipo neste campo ao criar uma instância de MyActivity.
É importante lembrar que a classe MyActivity deve estar anotada com @AndroidEntryPoint para que o Hilt possa injetar dependências em seus campos. Além disso, o campo a ser injetado não pode ser privado (private).