Où stocker les constantes globales dans une application Android?
Je voudrais savoir quel est la meilleure pratique pour stocker des constantes globales qui peuvent changer avec l'environnement (debug, preprod, prod, presse, etc) au moment de la compilation.
Dans iOS, j'ai utilisé pour garder tous les constantes globales dans un fichier d'en-tête et de le modifier avec le pré-processeur de macro voir cette réponse:
Où stocker les constantes globales dans une application iOS?
Quelle solution dois-je utiliser pour Android ?
source d'informationauteur klefevre | 2013-02-25
Vous devez vous connecter pour publier un commentaire.
Créer un des constantes de classe dans votre forfait de base de dossier.
(ou de créer une interface au lieu d'une classe, donc il n'y a pas besoin de faire référence à la classe, à chaque fois, mais c'est une mauvaise pratique en raison de la lisibilité du code, mais il faudra travailler)
Le remplir avec de l'
public static final
valeurs.De plus, la
class
ainsi que lainterface
peut aussi être déclaréeabstract
.Si des valeurs de constantes dépendent de l'environnement (densité, les paramètres régionaux, etc.) alors vous devriez utiliser des ressources pour les stocker (entier, chaîne de caractères, dimen...).
Dans un autre cas, vous pouvez mettre votre constantes globales dans un fichier (meilleures pratiques - utiliser des préfixes pour chaque ensemble de constantes) ou de mettre des constantes locales dans les classes connexes (par exemple, l'Intention est titulaire d'drapeaux. les extras, les catégories et ainsi de suite).
Utilisation
public static final values.
et de les garder séparées java fichier comme suit:Une autre solution pourrait être d'utiliser le fichier de ressources (si vous êtes satisfait avec en ne stockant que les valeurs de chaîne).
Cela pourrait être utilisé pour stocker des constantes telles que le compte que cette application permet de gérer:
Ex. WelcomeActivity.java
Ex. res/values/strings.xml
Ce serait également vous permettre de modifier ce, sans avoir à recompiler (de la même manière que vous le feriez normalement découpler les traductions, qui l'strings.xml le fichier est mieux utilisé pour).