Sobes.tech
Middle

¿Cómo realizar la inyección de dependencias en un campo usando Dagger Hilt?

sobes.tech AI

Respuesta de la IA

La inyección de dependencias en un campo usando Dagger Hilt se realiza mediante el uso de la anotación @Inject antes de la declaración del campo en una clase anotada con @AndroidEntryPoint.

import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject

@AndroidEntryPoint // Esta clase será inyectada en la aplicación
class MyActivity : AppCompatActivity() {

    @Inject // Inyectamos la dependencia
    lateinit var myDependency: MyDependency

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // ...
        myDependency.doSomething()
    }
}

La anotación @Inject indica a Hilt que este campo necesita una dependencia. Hilt buscará un proveedor correspondiente (por ejemplo, un módulo de Dagger) para el tipo MyDependency y proporcionará una instancia de este tipo en este campo al crear una instancia de MyActivity.

Es importante recordar que la clase MyActivity debe estar anotada con @AndroidEntryPoint para que Hilt pueda inyectar dependencias en sus campos. Además, el campo a inyectar no puede ser privado (private).