Recipe 10.1 Saving and Loading User Preferences

Android versions
Level 1 and above
Permissions
None
Source code to download from Wrox.com
Preferences.zip

Android provides the SharedPreferences object to help you save simple application data. Using the SharedPreferences object, you can save the data you want through the use of key/value pairs — specify a key for the data you want to save, and then both it and its value will be saved automatically to an XML file. This feature is known as shared preferences in Android.

Solution

To use the SharedPreferences object, create a variable of type SharedPreferences:

package net.learn2develop.preferences;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;

public class MainActivity extends Activity {
    SharedPreferences prefs;
    String prefName = "MyPref";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

}

In the preceding code snippet, you also created a string variable to store the name of the preference file that will be created later by the SharedPreferences object.

Before using the SharedPreferences object, use the getSharedPreferences() method to obtain an instance of the SharedPreferences object, passing it the name of the preference file, as well as the operating mode (MODE_PRIVATE is the default):

 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ...

Get Android Application Development Cookbook: 93 Recipes for Building Winning Apps now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.