Я искал вокруг SO для этого и нашел несколько вещей, но я все еще не уверен, что полностью понимаю, поэтому прошу у вас разъяснений.
Вот что мне нужно:
Иметь проект, который имеет определенную функцию: опросить веб-сервис, отображать результаты в разных представлениях
Иметь второй, третий и четвертый проекты, которые имеют точнота же функциональность, что и у первого, но только различные графические элементы, такие как изображение на заставке, значок, имя, имя пакета.
Итак, у меня есть ProjectCore
с действиями и функциональностью.Project1 со значком автомобиля и изображением автомобиля для заставки.Project2 с изображением самолета и изображением самолета для заставки.Что-то вроде того.У каждого проекта есть класс с константами, такими как 'appId, appName, appServerURL "... Все вызовы веб-службы и отображение данных выполняются в Core, поскольку они одинаковы для всех проектов, только чтение производится из класса Constants.
Я думал об этом подходе
- Сделать ProjectCore библиотечным проектом с пакетом вроде com.domain.core и фиктивными изображениями
- Сделать Project1, добавить в него ссылку на ProjectCore ис пакетом, подобным com.domain.code.project1 и в папке ресурсов, поместите изображения с тем же именем, что и в базовом проекте
- . Сделайте Project2 по тому же принципу, что и project1
Будет ли этоподход к работе?
Спасибо.
Позднее редактирование. Я пробовал, как уже упоминалось ранее. Например, в проекте Core у меня был в drawable файл с именем splash.png.В папке для рисования Project1 и Project2 я поместил файл spash.png с другими изображениями. Это работает нормально. Запустив Project1 и Project2 на моем телефоне, я запустил каждое приложение со своим собственным изображением.о, пока все хорошо.
Тогда, поскольку у меня есть разные константы, которые мне нужно использовать в моем приложении, я пошел в проект библиотеки ядра и добавил:
public class C {
public static String SomeConstant = "Project core!";
}
Здесь возникает проблема, янеобходимо иметь разные постоянные значения в Project1 и Project2.Потому что в базовом проекте класс находится, например, в com.domain.core.utils ... Я не могу добавить один и тот же пакет в Project1 и Project2.Как добавить классы, чтобы я мог обновлять их значения и использовать их в каждом проекте с определенными значениями?
public class C {
public static String SomeConstant = "Project 1 constant!";
}
public class C {
public static String SomeConstant = "Project 2 constant!";
}
Спасибо!