2010-11-11 23 views
1

J'ai 10 URL dans mon application, qui sont actuellement codées en dur. Je veux externaliser cela et le mettre dans un fichier afin que mon application peut le lire poQuelle est la meilleure façon d'externaliser les URL?

Quelle est la meilleure façon de le faire?

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

Note: Je n'écrirai jamais à ce fichier dans mon application. Je souhaite que le développeur puisse ouvrir le fichier et modifier l'URL si nécessaire.

Répondre

3

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

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

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 Context classe. Gardez également à l'esprit que vous devez attendre jusqu'à ce qu'un Context soit initialisé avant de commencer à accéder à ses ressources. Par conséquent invoquer getString() pas plus tôt alors à onCreate() méthode de Activity ou Application.

0

Vous pouvez placer les valeurs dans un fichier "configuration" XML, puis lire simplement les valeurs du fichier XML.

Example of reading an XML file.

Ou tout simplement utiliser des fichiers de ressources XML dossier res natives d'Android comme l'a souligné Konstantin Burov.

0

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

You can also have such file in /assets folder; see this for example