Android, лучший способ предоставить константы для конкретного приложения в проекте библиотеки?

Я создаю проект библиотеки для ряда приложений для 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 констант, которые необходимо определить для каждого приложения для большого количества библиотек. functions

Очевидно, что обычно я просто импортирую/включаю специфичный для проекта файл app_constants.java, но это невозможно в файлах проекта библиотеки, так как он не имеет понятия о конкретных приложениях (правильно)

Итак, что лучший способ, чтобы каждое конкретное приложение переопределяло константы?

Обновление Мне потребовалось много времени, чтобы решить, какие из превосходных ответов, которые мне были предоставлены, лучше всего соответствовали моим потребностям (спасибо всем). В конце концов я выбрал решение xml. Мне это не особенно нравится, потому что оно загромождает ресурсы моих приложений, и я серьезно рассматривал возможность использования решения для интерфейса, но решение xml работает хорошо

13
задан jamesc 28 December 2012 в 21:51
поделиться