Today I'm going to talk about how I manage Android SharedPreferences in my application. Not a long time ago, I posted about SharedPreferences, so you can take a look back if you don't have any idea yet about SharedPreferences.
I basically used the setter and getter methods, which has been regarded as "evil" by many developers. I'm just a self thought programmer, I'm open to any suggestions by you guys especially if you are an advanced developer or knows a better implementation.
I feel convenient using this class, you can instantly write and read your SharedPreference values, especially if you choose to store several SharedPref values for your app. You just have to pass the context and then bam! You can use it even for a non-activity class.
How To Use?
// make it a member variable
SharedPreferencesManager SharedPrefMgr;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// create an instance
SharedPrefMgr = new SharedPreferencesManager(this);
// ...
SharedPreferencesManager SharedPrefMgr;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// create an instance
SharedPrefMgr = new SharedPreferencesManager(this);
// ...
Write:
Read:
SharedPreferencesManager Class
Just an example of my SharefPreferencesManager Class.
import android.content.Context;
import android.content.SharedPreferences;
public class SharedPreferencesManager {
Context mContext;
SharedPreferences settings;
SharedPreferences.Editor editor;
public SharedPreferencesManager(Context mContext) {
settings = mContext.getSharedPreferences("my_shared_prefs", 0);
editor = settings.edit();
}
// ----- firstname -----
public String getFirstname() {
return settings.getString("firstname", null);
}
public void setFirstname(String firstname) {
editor.putString("firstname", firstname);
editor.commit();
}
// ----- lastname -----
public String getLastname() {
return settings.getString("lastname", null);
}
public void setLastname(String lastname) {
editor.putString("lastname", lastname);
editor.commit();
}
// ----- username -----
public String getUsername() {
return settings.getString("username", null);
}
public void setUsername(String username) {
editor.putString("username", username);
editor.commit();
}
// ----- folder name -----
public String getFolderName() {
return settings.getString("folder_name", null);
}
public void setFolderName(String folder_name) {
editor.putString("folder_name", folder_name);
editor.commit();
}
// ----- debug mode -----
public boolean getDebugMode() {
return settings.getBoolean("debug_mode", false);
}
public void setDebugMode(boolean debug_mode) {
editor.putBoolean("debug_mode", debug_mode);
editor.commit();
}
// ... you can add more here ...
}
import android.content.SharedPreferences;
public class SharedPreferencesManager {
Context mContext;
SharedPreferences settings;
SharedPreferences.Editor editor;
public SharedPreferencesManager(Context mContext) {
settings = mContext.getSharedPreferences("my_shared_prefs", 0);
editor = settings.edit();
}
// ----- firstname -----
public String getFirstname() {
return settings.getString("firstname", null);
}
public void setFirstname(String firstname) {
editor.putString("firstname", firstname);
editor.commit();
}
// ----- lastname -----
public String getLastname() {
return settings.getString("lastname", null);
}
public void setLastname(String lastname) {
editor.putString("lastname", lastname);
editor.commit();
}
// ----- username -----
public String getUsername() {
return settings.getString("username", null);
}
public void setUsername(String username) {
editor.putString("username", username);
editor.commit();
}
// ----- folder name -----
public String getFolderName() {
return settings.getString("folder_name", null);
}
public void setFolderName(String folder_name) {
editor.putString("folder_name", folder_name);
editor.commit();
}
// ----- debug mode -----
public boolean getDebugMode() {
return settings.getBoolean("debug_mode", false);
}
public void setDebugMode(boolean debug_mode) {
editor.putBoolean("debug_mode", debug_mode);
editor.commit();
}
// ... you can add more here ...
}
For FREE programming tutorials, enter your email below and subscribe! :)


2 comments:
I am fresher in this area and i came to know from your sites many suggestion which is very helpful so thanks to you and carry on.
Thanks Zorita! You can subscribe to this blog! :D
Post a Comment
You can use http://pastebin.com/ or http://jsfiddle.net/ if you want to comment some codes.