2010-11-19 4 views
1

permet de supposer que j'utilise le chemin de service ou de base de données dans mon application, donc chaque fois que je change le chemin d'emplacement, je ne veux pas modifier dans tous les temps de ton dans le codage. Est-il possible de stocker la valeur dans un fichier xmlfile ou manifeste et de le lire directement dans une variable? ou je dois utiliser l'analyseur XML? une idée?comment lire une valeur particulière dans le fichier manifeste android ou xml dans android?

Répondre

3

Vous avez plus d'un option:

1- vous pouvez créer votre propre fichier (txt ou xml) à vous de choisir, et lorsque vous créez votre activité ou service, vous pouvez lire le fichier par u chanter:

FileInputStream fileInputStream = openFileInput("test.txt"); 
DataInputStream in = new DataInputStream(fileInputStream); 
BufferedReader br = new BufferedReader(new InputStreamReader(in) , 1<<10<<3); 
String strLine = null; 
while ((strLine = br.readLine()) != null) { 
// strLine has one line from you file, it will have fixed format, for example: 
// path=xyz 
} 

2-Vous pouvez l'ajouter à la valeur chaîne dans votre dossier de ressources (Eclipse crée pour vous le dossier res par défaut afin que vous puissiez trouver un fichier appelé strings.xml en utilisant le chemin suivant: res-> valeurs-> strings.xml donc dans ce fichier, vous pouvez ajouter votre chaîne comme:

<string name="path">hello</string> 

donc quand vous voulez le lire à partir de votre activité ou un service, vous pouvez dire:

getResources().getText(R.string.path); 

ou vous pouvez utiliser une interface statique qui a toutes les constantes que vous utilisez, puisque vous ne pouvez pas modifier la valeur au moment de l'exécution, mais s'il y a une possibilité de modifier cette valeur à l'exécution; vous devez stocker soit dans SharedPreference, soit créer votre propre DB et le stocker.

+0

hey merci, j'ai juste oublié le concept de chaîne. de toute façon merci beaucoup! – Ads

1

Je suggère l'approche simple:

Créer une Constantes de classes qui contient ces constantes (par exemple les chemins absolus). Importez-le dans toutes les classes où vous avez besoin de telles constantes. Le changement de chemin de fichier dans les constantes provoque des changements dans tous les endroits où il a été référencé.

Par exemple, dans le code Android, vous ne devez pas utiliser directement pour démarrer l'intention constante pour l'affichage des paramètres d'affichage

"android.settings.DISPLAY_SETTINGS" 

mais android.provider.Settings constante

android.provider.Settings.ACTION_DISPLAY_SETTINGS 
+0

yup c'est bon! mais j'espère que la chaîne xml est simple. Merci! – Ads

Questions connexes