Junior — Middle
Pode explicar o funcionamento da biblioteca Dependency Injection Koin em aplicações Android?
sobes.tech IA
Resposta da IA
O Koin é uma biblioteca para Injeção de Dependências (DI) no Android com Kotlin, que simplifica a gestão de dependências sem usar frameworks complexos.
Princípio básico de funcionamento do Koin:
- Definição de módulos — descrevem as dependências que o Koin fornecerá.
- Início do Koin — inicialização do contêiner DI na aplicação.
- Injeção de dependências — obtenção dos objetos necessários através do Koin.
Exemplo:
// Definindo um módulo com dependências
val appModule = module {
single { Repository() } // singleton
factory { ViewModel(get()) } // nova instância a cada vez, obtém Repository
}
// Na classe Application
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidContext(this@MyApp)
modules(appModule)
}
}
}
// Em Activity ou Fragment
class MyActivity : AppCompatActivity() {
private val viewModel: ViewModel by inject()
}
Dessa forma, o Koin cria e passa automaticamente os objetos necessários, facilitando testes e manutenção do código.