The Problem
Accessing preferences / configuration / settings from Android is actually pretty straightforward as long as you are in an Activity. To read:
// PREFS_FILENAME = "nameOfPrefsFile";
SharedPreferences pref = getSharedPreferences(PREFS_FILENAME,
Context.MODE_PRIVATE);
String string = pref.getString("key", "default");
// 1 is the default if key isn't set
int intValue = pref.getInt("intKey", 1);
// and so on
SharedPreferences is the key class. To write, you also need the SharedPreferences.Editor class, as follows:
// PREFS_FILENAME = "nameOfPrefsFile";
SharedPreferences pref = getSharedPreferences(PREFS_FILENAME,
Context.MODE_PRIVATE);
Editor editor = pref.edit();
editor.putString("key", "value");
editor.putInt("intKey", 5);
// Until you call commit, the changes will not
// be written, so don't forget this step
editor.commit();
In general however, you will need access to settings in more than one activity and it seems a bit wasteful to get these bits littered through the application. Since I am lazy and like to write things just once, I separated all the prefs stuff into one class called Settings.
Continue reading →