Middle
Ako vykonať injekciu závislosti do poľa pomocou Dagger Hilt?
sobes.tech AI
Odpoveď od AI
Vkladanie závislosti do poľa pomocou Dagger Hilt sa vykonáva použitím anotácie @Inject pred deklaráciou poľa v triede označenej @AndroidEntryPoint.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Táto trieda bude injektovaná do aplikácie
class MyActivity : AppCompatActivity() {
@Inject // Injektujeme závislosť
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
Anotácia @Inject naznačuje Hilt-u, že toto pole potrebuje závislosť. Hilt nájde zodpovedajúceho poskytovateľa (napríklad Dagger modul) pre typ MyDependency a poskytne inštanciu tohto typu do tohto poľa pri vytváraní inštancie MyActivity.
Je dôležité pamätať na to, že trieda MyActivity musí byť označená @AndroidEntryPoint, aby Hilt mohol vkladať závislosti do jej polí. Okrem toho, pole na injektovanie nemôže byť súkromné (private).