如何为Android应用程序创建外部共享pref / config文件?

时间:2011-03-04 10:44:29

标签: android

我正在寻找一种在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 ??

1 个答案:

答案 0 :(得分:2)

您好 我在Blackberry中有相同的偏好读数(逗号分隔或分号)分隔值。当开发人员遇到同样的开发时(当时我还没有使用android。)这就是他们所做的。

我们创建了一个像这样的文本文件

"name";"value";"data_type"

例如

"application_runs";"1";"int"

或者

"trial_period_key";"01ab23cd";"string"

数据类型是硬编码的,因此我们可以检测数据类型。对于变量名,我们还有硬编码的首选项列表。并且可以相应地解析值。他们根据txt文件编写了公共可读共享首选项,使用默认值,他们在assets文件夹中复制了“default.txt”以及SD卡中的副本。

此程序的缺点是

  1. 您必须注意文件名和该文件中写入的数据(这就是我们在资产中放置默认值文件以便应用程序不会崩溃的原因)

  2. SD卡上的文本文件必须是可读的,您必须将其与解析一起编程。

  3. 希望它有所帮助。