Middle
Dagger Hilt istifadə edərək sahəyə asılılıq enjeksiyasını necə həyata keçirmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Dagger Hilt istifadə edərək sahəyə asılılığı injekt etmək @AndroidEntryPoint ilə işarələnmiş sinifdə sahə bəyanatından əvvəl @Inject annotasiyasından istifadə etməklə həyata keçirilir.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Bu sinif tətbiqə injekt ediləcək
class MyActivity : AppCompatActivity() {
@Inject // Asılılığı injekt edirik
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
@Inject annotasiyası Hilt-ə bu sahənin asılılıq tələb etdiyini göstərir. Hilt MyDependency tipi üçün uyğun təminatçı (məsələn, Dagger modulu) tapacaq və MyActivity nümunəsi yaradılarkən bu tipin nümunəsini bu sahəyə təmin edəcək.
Əhəmiyyətlidir ki, MyActivity sinfi @AndroidEntryPoint ilə işarələnməlidir ki, Hilt onun sahələrinə asılılıqları injekt edə bilsin. Həmçinin, injekt ediləcək sahə private ola bilməz.