我需要更改Retrofit中的URL基础,我正在使用Koin在应用程序启动时创建一个Retrofit模块,并且我想在运行时更改此URL。
我已经尝试将baseUrl("http://192.168.192.168/")更改为baseUrl("http://")并更改Retrofit调用中的URL,但我的应用程序崩溃并返回非法URL错误。
这是我创建构建器的方法。
创建一个 Bean 到我的模块。
我已经尝试将baseUrl("http://192.168.192.168/")更改为baseUrl("http://")并更改Retrofit调用中的URL,但我的应用程序崩溃并返回非法URL错误。
这是我创建构建器的方法。
fun createRetrofit(okHttpClient: OkHttpClient): Retrofit {
return Retrofit.Builder()
.baseUrl("http://192.168.192.168/")//i need change this at runtime
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build()
}
创建一个 Bean 到我的模块。
val retrofitModule: Module = applicationContext {
bean { createRetrofit(get()) }
}
并启动koin:
startKoin(application = this,
modules = listOf(retrofitModule, ...)
)
有人能帮我解决这个问题吗?