Sobes.tech
Junior — Middle

Koin'de aktif bileşenle ilişkili nesnenin korunmasını nasıl sağlayabilirsiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Koin'de, aktif bileşenle (örneğin, Activity veya Fragment) ilişkili bir nesneyi saklamak için, bu bileşenin yaşam döngüsüne bağlı bir kapsam (scope) kullanılır.

Nesnenin bileşenin yaşam süresi boyunca korunmasını sağlamak için:

  1. Bileşene bağlı bir scope oluşturun.
  2. Bu scope içinde bağımlılıkları tanımlayın.
  3. Bileşenle aynı süre yaşayan örnekleri almak için scope'u kullanın.

Örnek olarak Activity:

val activityModule = module {
    scope<Activity> {
        scoped { MyScopedDependency() }
    }
}

// Activity içinde
class MyActivity : AppCompatActivity() {
    private val myDependency: MyScopedDependency by currentScope.inject()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // ...
    }
}

Bu şekilde, MyScopedDependency nesnesi oluşturulur ve MyActivity yaşam döngüsü kapsamında saklanır ve onunla birlikte yok edilir.