如何在不使用数据库的情况下保存应用程序的配置? (使用简单的文本文件)

时间:2010-11-18 10:52:04

标签: android persistence

我需要保存一个简单的字段来配置我的APP,因此,我不会使用数据库(它只是一个字段...),我需要为文件中的此字段保存true或false值,并且每次都我的应用程序的一部分想要检查是否确实他们必须检查此文本文件,而不是打开与数据库的连接

我需要永远保存配置...我的意思是当我从我的应用程序退出时,例如,我关闭我的Android设备,当我再次启动我的设备并启动我的应用程序时,配置必须被保存

这可能吗?我该怎么做?我找不到任何关于那个的信息

编辑:我的第一个答案有问题......这个代码在我的oncreate方法上:

static SharedPreferences settings;
static SharedPreferences.Editor configEditor;
settings = this.getPreferences(MODE_WORLD_WRITEABLE);

    if (settings.getBoolean("showMeCheckBox", true)) 
     showMeCheckBox.setChecked(true);
    else 
     showMeCheckBox.setChecked(false);

applyButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // Perform action on clicks
             if (showMeCheckBox.isChecked()) {
                 configEditor.putBoolean("showMeCheckBox", true); 
                } else {
                 configEditor.putBoolean("showMeCheckBox", false);
                }

            }
});

好的,但这不起作用...总是被选中...总是如实,就像默认值一样......如果我选中或取消选中它无关紧要....:S

1 个答案:

答案 0 :(得分:9)

我建议不要使用文本文件,而是使用首选项编辑器。

static SharedPreferences settings;
static SharedPreferences.Editor editor;
settings = this.getPreferences(MODE_WORLD_WRITEABLE);
editor = settings.edit();
//store value
editor.putString("Preference_name_1", "1");
//get value
//eill return "0" if preference not exists, else return stored value
String val = settings.getString("Preference_name_1", "0");

编辑:您必须初始化配置编辑器,设置值后,您必须提交

editor = settings.edit();
editor.putBoolean("name",true);
editor.commit();