Middle
Как да извършите внедряване на зависимост в поле с помощта на Dagger Hilt?
sobes.tech AI
Отговор от AI
Внедряването на зависимост в поле с помощта на Dagger Hilt се извършва чрез използване на анотацията @Inject преди декларацията на полето в клас, който е анотиран с @AndroidEntryPoint.
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).