我需要了解如何在android应用程序中管理多个模块之间的改造,其中每个模块与不同的服务器通信。我在这里的重点是所有模块都应该从缓存中受益,但每个模块可能有不同的配置(即。headers和base_url)。
例如:
我在一个android项目中有3个子模块。submodule1依赖于submodule2 submodle3依赖于submodule2
submodule1对话server1 submodule2对话server2 submodule3对话server3
是否可以使用单个实例进行改造并按需更改配置,或者是否有其他解决方案?
发布于 2016-06-21 17:02:09
在我的例子中,我为不同的模块使用了不同的Retrofit实例和连接器:
public static NetworkConnector getRetrofit1() {
if (ZivaURLs.retrofitNetworkHandler1 == null) {
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(Date.class, new GsonDateDeSerializer());
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ZivaURLs.HOST_1)
.addConverterFactory(GsonConverterFactory.create(gsonBuilder.create()))
.build();
retrofit.client().setReadTimeout(40, TimeUnit.SECONDS);
retrofit.client().setWriteTimeout(40, TimeUnit.SECONDS);
retrofit.client().setConnectTimeout(40, TimeUnit.SECONDS);
ZivaURLs.retrofitNetworkHandler1 = retrofit.create(NetworkConnector1.class);
}
return ZivaURLs.retrofitNetworkHandler1;
}现在我为每个模块使用不同的Connector接口,只是为了使我的代码更干净,更容易更改/升级。
希望它能帮助您:)
https://stackoverflow.com/questions/37939828
复制相似问题