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-ը կհայտնաբերի համապատասխան մատակարար (օրինակ՝ Dagger մոդուլ) MyDependency տիպի համար և տրամադրի այդ տիպի օրինակ MyActivity ստեղծելիս:

Կարևոր է հիշել, որ MyActivity դասը պետք է նշված լինի @AndroidEntryPoint-ով, որպեսզի Hilt-ը կարողանա մուտքագրել կախվածությունները նրա դաշտերին: Բացի այդ, մուտքագրվող դաշտը չի կարող լինել մասնավոր (private