Middle
როგორ განახორციელოთ დამოკიდებულების ინექცია ველზე Dagger Hilt-ის გამოყენებით?
sobes.tech AI
პასუხი AI-სგან
Dagger Hilt-ის დახმარებით დამოკიდებულების შეყვანა ხდება @AndroidEntryPoint-ით აღნიშნული კლასის ფილდში @Inject ანოტაციით წინასწარ გამოთქმული ფილდის გამოყენებით.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // ეს კლასი შეიყვანება აპლიკაციაში
class MyActivity : AppCompatActivity() {
@Inject // დამოკიდებულების შეყვანა
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
@Inject ანოტაციამ აჩვენებს Hilt-ს, რომ ეს ფილიალი საჭიროებს დამოკიდებულებას. Hilt-ი მოძიებს შესაბამის მიმწოდებელს (მაგალითად, Dagger მოდულს) MyDependency ტიპისთვის და ამ ტიპის ინстанციას მიაწვდის ამ ფილდში MyActivity-ის შექმნის დროს.
მნიშვნელოვანია, რომ MyActivity კლასი უნდა იყოს აღნიშნული @AndroidEntryPoint-ით, რათა Hilt-მა შეძლოს მისი ფილდების შეყვანა. ასევე, შეყვანილი ფილიალი არ უნდა იყოს პირადი (private).