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