Middle
Dagger Hilt kullanarak bir alana bağımlılık enjeksiyonu nasıl yapılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Dagger Hilt kullanarak bir alana bağımlılık enjeksiyonu, @AndroidEntryPoint ile anotasyonlu bir sınıfta alan deklarasyonunun önüne @Inject anotasyonu kullanılarak yapılır.
import dagger.hilt.android.AndroidEntryPoint
import javax.inject.Inject
@AndroidEntryPoint // Bu sınıf uygulamaya enjekte edilecek
class MyActivity : AppCompatActivity() {
@Inject // Bağımlılığı enjekte et
lateinit var myDependency: MyDependency
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
myDependency.doSomething()
}
}
@Inject anotasyonu, Hilt'e bu alanın bir bağımlılık gerektirdiğini gösterir. Hilt, MyDependency tipi için uygun bir sağlayıcı (örneğin, Dagger modülü) bulur ve MyActivity örneği oluşturulurken bu tipin bir örneğini bu alana sağlar.
Unutulmaması gereken önemli nokta, MyActivity sınıfının @AndroidEntryPoint ile anotasyonlu olmasıdır ki Hilt, bağımlılıkları alanlarına enjekte edebilsin. Ayrıca, enjekte edilen alanın private olmaması gerekir.