Sobes.tech
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).