//首选项帮助类, 提供了保存和获取首选项的功能.public class SharePreferencesHelper { private static SimpleArrayMap<String, SharePreferencesHelper> spArray = new SimpleArrayMap<String, SharePreferencesHelper>(); private static SharedPreferences sp; public static SharePreferencesHelper getInstance(Context context) { return getInstance(context, ""); } public static SharePreferencesHelper getInstance(Context context, String spName) { if (TextUtils.isEmpty(spName)) spName = "default_spUtil"; SharePreferencesHelper spUtil = spArray.get(spName); if (spUtil == null) { spUtil = new SharePreferencesHelper(context, spName); spArray.put(spName, spUtil); } return spUtil; } private SharePreferencesHelper(Context context, String spName) { sp = context.getSharedPreferences(spName, Context.MODE_PRIVATE); } public void putString(@NonNull String key, Object value) { applyValue(key, value); } public void putBoolean(@NonNull String key, Object value) { applyValue(key, value); } public void putInt(@NonNull String key, Object value) { applyValue(key, value); } public void putObject(@NonNull String key, Object value) { applyValue(key, value); } public boolean syncPutString(@NonNull String key, Object value) { return commitValue(key, value); } public boolean syncPutBoolean(@NonNull String key, Object value) { return commitValue(key, value); } public boolean syncPutInt(@NonNull String key, Object value) { return commitValue(key, value); } public boolean syncPutObject(@NonNull String key, Object value) { return commitValue(key, value); } public String getString(@NonNull final String key) { return getString(key, ""); } public String getString(@NonNull final String key, @NonNull final String defaultValue) { return sp.getString(key, defaultValue); } public int getInteger(@NonNull final String key, final int defaultValue) { return sp.getInt(key, defaultValue); } public Boolean getBoolean(@NonNull final String key) { return sp.getBoolean(key, false); } private boolean commitValue(@NonNull String key, Object value) { SharedPreferences.Editor editor = saveData(key, value); //断言, 当值 true 的时候才会向下执行. assert editor != null; return editor.commit(); } private void applyValue(@NonNull String key, Object value) { SharedPreferences.Editor editor = saveData(key, value); //断言, 当值为 true 的时候才会向下执行. assert editor != null; editor.apply(); } public boolean containKey(@NonNull String key) { return sp.contains(key); } public void clearAll(){ sp.edit().clear().apply(); } public void removeForKey(@NonNull final String key) { sp.edit().remove(key).apply(); } private SharedPreferences.Editor saveData(String key, Object value) { SharedPreferences.Editor edit; if (value != null) { edit = sp.edit(); if (value instanceof String) { edit.putString(key, (String) value); } else if (value instanceof Boolean) { edit.putBoolean(key, (Boolean) value); } else if (value instanceof Integer) { edit.putInt(key, (Integer) value); } else { edit.putString(key, String.valueOf(value)); } return edit; }
注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。
[聚合文章] SharePreferencesHelper 工具类
.Net
2017-12-19
26 阅读