Junior — Middle
Comment assurer la conservation de l'objet associé au composant actif dans Koin?
sobes.tech IA
Réponse de l'IA
Dans Koin, pour sauvegarder un objet lié à un composant actif (par exemple, une Activity ou un Fragment), on utilise une portée (scope) liée au cycle de vie de ce composant.
Pour assurer la sauvegarde de l'objet pendant la durée de vie du composant, il faut :
- Créer un scope lié au composant.
- Définir les dépendances à l'intérieur de ce scope.
- Utiliser le scope pour obtenir des instances qui vivront aussi longtemps que le composant.
Exemple pour une Activity :
val activityModule = module {
scope<Activity> {
scoped { MyScopedDependency() }
}
}
// Dans l'Activity
class MyActivity : AppCompatActivity() {
private val myDependency: MyScopedDependency by currentScope.inject()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// ...
}
}
Ainsi, l'objet MyScopedDependency sera créé et conservé dans le cadre du cycle de vie de MyActivity et détruit avec elle.