Я пытаюсь использовать DI для создания экземпляра дооснащения с помощью KOIN, это модуль
val networkModule = module {
factory { provideRetrofit(get()) }
single { provideNetworkApi(get()) }
}
fun provideRetrofit(): Retrofit {
return Retrofit.Builder()
.baseUrl(NetworkConstant.BASE_URL)
.addConverterFactory(MoshiConverterFactory.create())
.client(OkHttpClient.Builder().build())
.build()
}
fun provideNetworkApi(retrofit: Retrofit): NetworkCall =
retrofit.create(NetworkCall::class.java)
В классе приложения
class BaseApp :Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidLogger()
androidContext(this@BaseApp)
modules(listOf(prefModule,networkModule))
}
}
}
Компилятор показывает ошибку provideRetrofit(get()
Too many arguments for public fun provideRetrofit():
Мне удалось создать DI для другого класса
val prefModule = module {
single { AppPreference(androidContext()) }
}
Может кто-нибудь указать мне, что здесь не так?