Question

J'ai 10 URL dans mon application, qui sont actuellement codées en dur. Je veux extérioriser cela et le mettre dans un dossier afin que mon application peut lire dans.

Quelle est la meilleure façon de le faire?

private String appURL = "http://..."
private String storeURL = "http://..."
private String someURL = "http://..."

Remarque: je ne serai jamais en train d'écrire sur ce fichier dans mon application. Je veux que le développeur d'être en mesure d'ouvrir le fichier, et modifier l'URL si nécessaire.

Était-ce utile?

La solution

manière la plus facile dans une chaînes extérioriser application android est d'utiliser les ressources de chaîne. Créer un fichier uris.xml au dossier res/values:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="appUrl">http://...</string>
    <string name="storeUrl">http://...</string>
    <!-- etc /-->
</resources>

Ensuite, vous pouvez alors accéder aux chaînes par:

String appUrl = getString(R.string.appUrl);
String storeUrl = getString(R.string.storeUrl);
//..etc

getString() est une méthode de classe Context. Gardez à l'esprit que vous devez attendre jusqu'à ce qu'un Context sera initialisé avant que l'accès à partir de ses ressources. Par conséquent Invoke getString() tôt alors à la méthode de onCreate() de Activity ou Application.

Autres conseils

Vous pouvez mettre les valeurs dans un fichier XML « configuration », puis il suffit de lire les valeurs du fichier XML.

Exemple de lecture d'un fichier XML.

Ou tout simplement utiliser des fichiers de ressources res dossier XML natives Android comme pointées sur Konstantin Burov .

Si vous voulez avoir la capacité fichier plat externe pour être modifiable, vous pouvez simplement créer un fichier texte sur SD par exemple (et ont des valeurs par défaut comme des chaînes ou des propriétés statiques). Ensuite, votre code lit le fichier (Java standard IO) et les photos des changements dans onCreate dire de votre activité

Vous pouvez également avoir un tel fichier dans / dossier actif; voir par exemple

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top