androidpersistence

How can I save the config of my app without using a database? (using simple textfile)


I need to save a simple field to configure my APP, because this, I won't use a database (it's only a field). I need to save true or false value for this field on a file, and every time a section of my app wants to check if it is true it has to check this textfile, and not to open a connection to a database.

I need to save the config forever. When I exit from my app, and for example, I shut down my Android device, when I start my device again and start my app, the config has to be saved.

Is this possible? How can I do it? I can't find any information about this.

Edit

I have problems with the first answer. This code is on my oncreate method:

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);
                }
             
            }
});

This doesn't work. Always is selected... always true, like the default value. It doesn't matter if I checked or unchecked it.


Solution

  • i suggest not to use a textfile but the Preference Editor.

    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");
    

    Edit: you have to initialize the configEditor and after setting a value, you have to commit

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