package czd.lib.data; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import org.apache.http.NameValuePair; import java.util.ArrayList; import java.util.Map; public class PreferenceUtil { /** * write String into SharedPreference named by the given name * * @param context * @param name * @param towrite */ public static void writeStringPreference(Context context, String name, String tag, String towrite) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); Editor edit = sp.edit(); edit.putString(tag, towrite); edit.commit(); } /** * write int into SharedPreference named by the given name * * @param context * @param name * @param tag * @param towrite */ public static void writeIntPreference(Context context, String name, String tag, int towrite) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); Editor edit = sp.edit(); edit.putInt(tag, towrite); edit.commit(); } public static void writeLongPreference(Context context, String name, String tag, long towrite) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); Editor edit = sp.edit(); edit.putLong(tag, towrite); edit.commit(); } public static void writeFloatPreference(Context context, String name, String tag, float towrite) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); Editor edit = sp.edit(); edit.putFloat(tag, towrite); edit.commit(); } /** * write int into SharedPreference named by the given name * * @param context * @param name * @param tag * @param towrite */ public static void writeBooleanPreference(Context context, String name, String tag, boolean towrite) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); Editor edit = sp.edit(); edit.putBoolean(tag, towrite); edit.commit(); } /** * write bundle data into SharedPreference named by the given name * * @param context * @param name * @param strtowrite */ public static void writeBundlePreference(Context context, String name, Bundle strtowrite) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); Editor edit = sp.edit(); for (String key : strtowrite.keySet()) { edit.putString(key, strtowrite.getString(key)); } edit.commit(); } public static void writeNameValuePairPreference(Context context, String name, ArrayList<NameValuePair> nameValuePairs) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); Editor edit = sp.edit(); for (NameValuePair nameValuePair : nameValuePairs) { edit.putString(nameValuePair.getName(), nameValuePair.getValue()); } edit.commit(); } /** * clean the named SharedPreference * * @param context * @param name */ public static void cleanPreference(Context context, String name) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); if (sp != null) { Editor edit = sp.edit(); edit.clear(); edit.commit(); } } public static void deletePreference(Context context, String name, String key) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); if (sp != null) { Editor editor = sp.edit(); editor.remove(key); editor.commit(); } } /** * get SharedPreferences by name * * @param context * @param name * * @return Map<String,?> */ public static Map<String,?> getMapPreference(Context context, String name) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); return sp.getAll(); } /** * get String data from SharedPreferences * * @param context * @param name * @param tag * * @return */ public static String getStringPreference(Context context, String name, String tag) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); return sp != null ? sp.getString(tag, "") : ""; } /** * @param context * @param name * @param tag * * @return */ public static int getIntPreference(Context context, String name, String tag) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); return sp != null ? sp.getInt(tag, 0) : 0; } public static long getLongPreference(Context context, String name, String tag) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); return sp != null ? sp.getLong(tag, 0L) : 0L; } /** * @param context * @param name * @param tag * * @return */ public static boolean getBooleanPreference(Context context, String name, String tag, boolean defValue) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); return sp != null && sp.getBoolean(tag, defValue); } public static float getFloatPreference(Context context, String name, String tag) { SharedPreferences sp = context.getSharedPreferences(name, Context.MODE_PRIVATE); return sp != null ? sp.getFloat(tag, 0F) : 0F; } }