Sto creando un progetto di libreria per un numero di app Android. Le applicazioni hanno tutte alcune funzionalità comuni che desidero includere nel progetto di libreria, ma le funzioni di progetto biblioteca richiedere l'uso di applicazione costanti specificheAndroid, il modo migliore per fornire costanti specifiche per app in un progetto di libreria?
Così sto cercando un modo per fornire le funzioni di libreria con i nomi delle costanti e consentire ogni applicazione definirli
un esempio di una specifica costante applicazione e come viene utilizzato nel progetto libreria
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);
}
Questo è solo un esempio di circa 60 costanti che devono essere definiti per ciascun app per un gran numero di funzioni di libreria
Ovviamente mi sarebbe normalmente solo importare/include il file app_constants.java progetto specifico, ma questo non è possibile in file di progetto biblioteca in quanto non ha la minima idea su applicazioni specifiche (giustamente)
Così qual è il modo migliore per fare in modo che ogni app specifica prevalga sulle costanti?
Aggiornamento ho preso un lungo periodo di tempo di decidere su quale delle risposte superbe Sono stato fornito con la migliore adatta alle mie esigenze (grazie a tutti) Alla fine ho scelto la soluzione xml. Non mi piace particolarmente perché ingombra le mie risorse applicazioni e ho seriamente in considerazione l'utilizzo della soluzione di interfaccia ma la soluzione xml funziona bene
Se si definiscono le risorse con lo stesso ID nella libreria e l'applicazione si ottiene il valore dall'applicazione se esiste, dalla libreria altrimenti. Questo è un approccio davvero carino per i valori che si desidera sovrascrivere per applicazione. Dal momento che sta usando il sistema delle risorse puoi persino fare dei valori per configurazione (orizzontale, verticale, ecc.) – zapl