Middle
Cum se realizează injecția de dependințe într-un câmp folosind Dagger Hilt?
sobes.tech AI
Răspuns de la AI
Injectarea dependenței într-un câmp folosind Dagger Hilt se face prin utilizarea adnotării @Inject înainte de declarația câmpului într-o clasă anotată cu @AndroidEntryPoint.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Această clasă va fi injectată în aplicație
class MyActivity : AppCompatActivity() {
@Inject // Injectăm dependența
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
Adnotarea @Inject indică lui Hilt că acest câmp necesită o dependență. Hilt va găsi un furnizor corespunzător (de exemplu, un modul Dagger) pentru tipul MyDependency și va furniza o instanță a acestui tip în acest câmp la crearea unei instanțe de MyActivity.
Este important să rețineți că clasa MyActivity trebuie să fie marcată cu @AndroidEntryPoint pentru ca Hilt să poată injecta dependențe în câmpurile sale. În plus, câmpul de injectat nu poate fi privat (private).