我正在寻找一种在SD卡上的外部文件上存储配置设置的方法。应用程序必须查看此外部文件,然后检索某种设置。目前我正试图让它查看一个文件并得到一个名字。我知道您可以将内容存储在共享首选项中,但它们可以在内部访问。
有人知道外在的方式吗?感谢
想法是在SD卡上有一个简单的文本文件或xml文件。因此,当配置需要更改时,它是通过该文件完成的吗?
修改
File sdcard = Environment.getExternalStorageDirectory();
File file = new File(sdcard,"/Config.txt");
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line="";
int c;
while ((c = br.read()) != -1) {
line+=(char)c;
if(String.valueOf(c) == ";" & line =="name;"){
String name ="";
}
}
}
我试图在config.txt文件中读取并用a分隔每个值; 但我似乎无法理解我将如何附加名字后面的内容;到变量String名称。
config.txt文件包含以下内容:
名; fred的 somethingelse;测试
程序应该知道它何时命名,然后将name变量设置为fred ??
答案 0 :(得分:2)
您好 我在Blackberry中有相同的偏好读数(逗号分隔或分号)分隔值。当开发人员遇到同样的开发时(当时我还没有使用android。)这就是他们所做的。
我们创建了一个像这样的文本文件
"name";"value";"data_type"
例如
"application_runs";"1";"int"
或者
"trial_period_key";"01ab23cd";"string"
数据类型是硬编码的,因此我们可以检测数据类型。对于变量名,我们还有硬编码的首选项列表。并且可以相应地解析值。他们根据txt文件编写了公共可读共享首选项,使用默认值,他们在assets文件夹中复制了“default.txt”以及SD卡中的副本。
此程序的缺点是
您必须注意文件名和该文件中写入的数据(这就是我们在资产中放置默认值文件以便应用程序不会崩溃的原因)
SD卡上的文本文件必须是可读的,您必须将其与解析一起编程。
希望它有所帮助。