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