Как управлять модернизацией между несколькими модулями Android

Мне нужно понять, как я могу управлять модернизацией между несколькими модулями в приложении для Android, где каждый модуль общается с различным сервером. Мой фокус здесь заключается в том, что все модули должны извлекать выгоду из кэша, но каждый модуль может иметь различную конфигурацию (т.е. заголовки и base_url).
Пример:
У меня есть 3 подмодуля в проекте Android. субмодуль1 зависит от субмодуля2 субмодуль3 зависит от субмодуля2

субмодуль1 общается с сервером1 субмодуль2 общается с сервером2 субмодуль3 общается с сервером3

нормально ли иметь один экземпляр дооснащения и изменять конфигурацию по требованию ИЛИ есть ли другое решение для этого?

1 ответ

В моем случае я использую разные экземпляры 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 для каждого модуля, чтобы сделать мой код чище, и его было легко менять / обновлять.

Надеюсь, это поможет вам:)

Другие вопросы по тегам