如何读取android清单文件中的特定值或android中的xml?

时间:2010-11-19 20:14:01

标签: android xml manifest

让我们假设我在我的应用程序中使用服务或数据库路径,所以每当我更改位置路径时,我都不想在编码中的所有时间段进行编辑。那么是否可以将值存储在某些xmlfile或manifest文件中并直接将其读取到变量中?或者我必须使用xml解析器?任何想法?

2 个答案:

答案 0 :(得分:3)

您有多种选择:

1-您可以创建自己的文件(txt或xml),这取决于您,当您创建活动或服务时,您可以使用以下方式读取文件:

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 - 您可以在资源文件夹中将其添加为String值(默认情况下,eclipse会为您创建res文件夹,因此您可以使用以下路径找到名为strings.xml的文件: 水库&GT;值 - &GT;的strings.xml 所以在这个文件中你可以添加你的字符串:

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

因此,当您想要从活动或服务中阅读时,您可以说:

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

或者您可以使用具有您使用的所有常量的静态接口;因为您无法在运行时修改该值,但是如果能够在运行时修改此值;您需要存储在SharedPreference中,或创建自己的数据库并存储它。

答案 1 :(得分:1)

我建议采用简单的方法:

创建一个包含此类常量的类Constants(例如绝对文件路径)。在需要这些常量的所有类中导入它。常量中文件路径的更改会导致引用它的所有位置发生更改。

例如,在Android代码中,您不应直接使用常量来启动显示“显示设置”的意图

"android.settings.DISPLAY_SETTINGS"

而是android.provider.Settings常量

android.provider.Settings.ACTION_DISPLAY_SETTINGS