Skip to content

Instantly share code, notes, and snippets.

@ashishkudale
Last active November 12, 2019 16:43
Show Gist options
  • Save ashishkudale/169dbfdc9c466fedafa36eb4dff9339d to your computer and use it in GitHub Desktop.
Save ashishkudale/169dbfdc9c466fedafa36eb4dff9339d to your computer and use it in GitHub Desktop.
Shared Preference Helper using singleton.
public class SharedPrefHandler {
private static SharedPrefHandler me;
private static String sharedPrefName;
private static Context context;
private SharedPrefHandler(){}
public static SharedPrefHandler getInstance(Context cntx, PrefFiles sharedPrefFileName){
if(me == null){
me = new SharedPrefHandler();
}
context = cntx;
sharedPrefName = sharedPrefFileName.name();
return me;
}
public String getValue(String key) {
SharedPreferences prefs = context.getSharedPreferences(sharedPrefName, MODE_PRIVATE);
return prefs.getString(key, null);
}
public boolean getBooleanValue(String key) {
SharedPreferences prefs = context.getSharedPreferences(sharedPrefName, MODE_PRIVATE);
return prefs.getBoolean(key, false);
}
public SharedPrefHandler add(String key, String value){
try {
context.getSharedPreferences(sharedPrefName, MODE_PRIVATE).edit().putString(key, value).apply();
return me;
}
catch (Exception ex){
Log.e(Constant.TAG, "SharedPrefHandler: AddSharedPref: Exception: " + ex.getMessage(), ex);
throw ex;
}
}
public SharedPrefHandler add(String key, boolean value) {
try {
context.getSharedPreferences(sharedPrefName, MODE_PRIVATE).edit().putBoolean(key, value).apply();
return me;
} catch (Exception e) {
Log.e(Constant.TAG, "SharedPrefHandler: AddSharedPref: Exception: " + e.getMessage(), e);
throw e;
}
}
public SharedPrefHandler remove(String key){
try {
context.getSharedPreferences(sharedPrefName, MODE_PRIVATE).edit().remove(key).apply();
return me;
}
catch (Exception ex){
Log.e(Constant.TAG, "SharedPrefHandler: AddSharedPref: Exception: " + ex.getMessage(), ex);
throw ex;
}
}
public enum PrefFiles{
USER_DETAILS_PREF
}
public final class Keys{
public final static String USER_DETAILS = "user_details";
public final static String LAST_REFRESHED_TIME = "last_refreshed_time";
public final static String USER_KYC = "user_kyc_status";
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment