Set:
ShPref.put(R.string.some_key, System.currentTimeMillis()); //... ShPref.put("some_hard_coded_key", System.currentTimeMillis());
Get:
ShPref.getLong(R.string.some_key, -1); // -1 default value //... ShPref.getLong("some_hard_coded_key", -1); // -1 default value
ShPref class:
import android.annotation.SuppressLint; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; public class ShPref { public static final int APPLY = 0; public static final int COMMIT = 1; private static int mode; public static void put(int key, Object value) { Context ctx = Contextor.getInstance().getContext(); put(ctx.getString(key), value); } @SuppressLint("CommitPrefEdits") public static void put(String key, Object value) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); if (value instanceof String) { if (mode == APPLY) { prefs.edit().putString(key, (String) value).apply(); } else { prefs.edit().putString(key, (String) value).commit(); } } else if (value instanceof Integer) { if (mode == APPLY) { prefs.edit().putInt(key, (int) value).apply(); } else { prefs.edit().putInt(key, (int) value).commit(); } } else if (value instanceof Boolean) { if (mode == APPLY) { prefs.edit().putBoolean(key, (boolean) value).apply(); } else { prefs.edit().putBoolean(key, (boolean) value).commit(); } } else if (value instanceof Float) { if (mode == APPLY) { prefs.edit().putFloat(key, (float) value).apply(); } else { prefs.edit().putFloat(key, (float) value).commit(); } } else if (value instanceof Long) { if (mode == APPLY) { prefs.edit().putLong(key, (long) value).apply(); } else { prefs.edit().putLong(key, (long) value).commit(); } } else { MyLog.e("UNKNOWN TYPE OF VALUE"); } } public static String getString(int key, String defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getString(ctx.getString(key), defaultValue); } public static String getString(String key, String defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getString(key, defaultValue); } public static int getInt(int key, int defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getInt(ctx.getString(key), defaultValue); } public static int getInt(String key, int defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getInt(key, defaultValue); } public static boolean getBoolean(int key, boolean defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getBoolean(ctx.getString(key), defaultValue); } public static boolean getBoolean(String key, boolean defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getBoolean(key, defaultValue); } public static float getFloat(int key, float defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getFloat(ctx.getString(key), defaultValue); } public static long getLong(int key, long defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getLong(ctx.getString(key), defaultValue); } public static long getLong(String key, long defaultValue) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); return prefs.getLong(key, defaultValue); } @SuppressLint("CommitPrefEdits") public static void remove(int key) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); if (mode == APPLY) { prefs.edit().remove(ctx.getString(key)).apply(); } else { prefs.edit().remove(ctx.getString(key)).commit(); } } @SuppressLint("CommitPrefEdits") public static void remove(String key) { Context ctx = Contextor.getInstance().getContext(); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); if (mode == APPLY) { prefs.edit().remove(key).apply(); } else { prefs.edit().remove(key).commit(); } } }
Contextor class:
import android.annotation.SuppressLint; import android.content.Context; import android.util.Log; public class Contextor { @SuppressLint("StaticFieldLeak") private static Contextor sInstance; private Context mContext; public static Contextor getInstance() { if (sInstance == null) { Log.d("TAG", "creating MyApllication context"); sInstance = new Contextor(); } return sInstance; } public void init(Context pContext) { mContext = pContext; } public Context getContext() { return mContext; } }
Gaurav
October 9, 2016Mm right … Good code