Я создаю проект библиотеки для ряда приложений для Android. Все приложения имеют некоторые общие функции, которые я хочу включить в проект библиотеки, но для функций проекта библиотеки требуется использование определенных для приложения констант.
Итак, я ищу способ предоставить библиотечным функциям имена констант и разрешить каждому приложению определять их
Пример конкретной константы приложения и того, как она используется в проекте библиотеки
public class AppConstants {
public static final long APP_ID = 6;//Needs to be set for each app
}
public static long getCurrentAppId(Context context) {
return getLongPreference(context, CURRENT_APP_ID_KEY, AppConstants.APP_ID);
}
Это всего лишь один пример из приблизительно 60 констант, которые необходимо определить для каждого приложения для большого количества библиотечных функций
Очевидно, что обычно я просто импортировал/включал конкретный проект app_constants.java, но это невозможно в файлах проектов библиотеки, поскольку он не имеет понятия о конкретных приложениях (правильно)
Итак, каков наилучший способ, чтобы каждое конкретное приложение перекрывало константы?
Обновление Я долгое время решал, какие из превосходных ответов мне были предоставлены с наилучшими моими потребностями (спасибо всем). В конце концов я выбрал xml-решение. Мне это не особенно нравится, потому что это забивает мои ресурсы приложений, и я серьезно рассматривал возможность использования решения для интерфейса, но решение xml прекрасно работает