Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to use SharedPreferences as LocalStore, in more generic way?
    text
    copied!<p>Being new in Android world and advancing with joy day by day ;) I would like to share examples about common usage.</p> <p>Here comes example about using SharedPreferences with generic LocalStore class.</p> <p>create a common class to be used by your main activity or by any of sub-activity.</p> <pre><code> public class LocalStore { private static final String TAG = "LocalStore"; private static final String PREF_FILE_NAME = "userprefs"; public static void clear(Context context) { clear(context, "unknown"); } public static void clear(Context context, String caller) { Editor editor = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE).edit(); editor.clear(); editor.commit(); Log.d(TAG, "caller:"+caller + "|clear LocalStore"); } public static boolean setCustomBooleanData(String key, boolean value, Context context) { Editor editor = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE).edit(); editor.putBoolean(key, value); return editor.commit(); } public static boolean getCustomBooleanData(String key, Context context) { SharedPreferences savedSession = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE); return (savedSession.getBoolean(key, false)); } public static boolean setCustomStringData(String key, String value, Context context) { Editor editor = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE).edit(); editor.putString(key, value); return editor.commit(); } public static String getCustomStringData(String key, Context context) { SharedPreferences savedSession = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE); return (savedSession.getString(key, null)); } public static boolean isCustomStringExistInLocal(String customKey, Context context) { SharedPreferences savedSession = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE); return (savedSession.getString(customKey, null))==null?false:true; } public static boolean saveObject(String objKey, Serializable dataObj, Context context) { Editor editor = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE).edit(); editor.putString(objKey, ObjectSerializer.serialize(dataObj) ); Log.d(TAG, "savedObject| objKey:"+objKey+"/" + dataObj.toString()); return editor.commit(); } public static Object getObject(String objKey, Context context) { SharedPreferences savedSession = context.getSharedPreferences(PREF_FILE_NAME, Context.MODE_PRIVATE); Object dataObj = ObjectSerializer.deserialize(savedSession.getString(objKey, null)); return dataObj; } } </code></pre> <p>Note: You can use ObjectSerializer from <a href="http://github.com/apache/pig/blob/89c2e8e76c68d0d0abe6a36b4e08ddc56979796f/src/org/apache/pig/impl/util/ObjectSerializer.java" rel="nofollow">here</a> </p> <p>Enjoy!</p> <p>Additional update: I implemented a library to use MEMDISKCACHE and SHAREDPREF as GENERIC_STORE anyone interested can use it from<br> -> <a href="https://github.com/wareninja/generic-store-for-android" rel="nofollow">https://github.com/wareninja/generic-store-for-android</a></p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload