Preferences.java
2016-05-20 22:45
316 查看
import android.content.Context; import android.content.SharedPreferences; import java.util.Set; public class Preferences { private static final String PREFERENCES_MAIN = K.app.package_name + ".main"; private static Preferences singleton = null; private SharedPreferences pref; private SharedPreferences.Editor editor; public Preferences (Context context, String prefName) { pref = context.getSharedPreferences(prefName, Context.MODE_PRIVATE); editor = pref.edit(); } public Preferences (String prefName) { this(App.getInstance(), prefName); } public static Preferences getInstance () { if (singleton == null) { singleton = new Preferences(PREFERENCES_MAIN); } return singleton; } public boolean contains (String key) { return pref.contains(key); } public boolean get (String key, boolean def) { return pref.getBoolean(key, def); } public int get (String key, int def) { return pref.getInt(key, def); } public long get (String key, long def) { return pref.getLong(key, def); } public float get (String key, float def) { return pref.getFloat(key, def); } public Set<String> get (String key, Set<String> def) { return pref.getStringSet(key, def); } public String get (String key) { return get(key, ""); } public String get (String key, String def) { return pref.getString(key, def == null ? "" : def); } public Preferences put (String key, boolean value) { getEditor().putBoolean(key, value); return this; } public Preferences put (String key, int value) { getEditor().putInt(key, value); return this; } public Preferences put (String key, long value) { getEditor().putLong(key, value); return this; } public Preferences put (String key, float value) { getEditor().putFloat(key, value); return this; } public Preferences put (String key, String value) { getEditor().putString(key, value == null ? "" : value); return this; } public Preferences put (String key, Set<String> value) { getEditor().putStringSet(key, value); return this; } public Preferences remove (String key) { editor.remove(key); return this; } public Preferences clear () { editor.clear(); return this; } public Preferences commit () { // if (editor != null) { // editor.commit(); // editor = null; // } editor.commit(); return this; } private SharedPreferences.Editor getEditor () { if (editor == null) { editor = pref.edit(); } return editor; } }
相关文章推荐
- CSS 行内样式 页内样式 外部样式
- 使用 stylelint找出你的CSS样式表里的错误和问题
- css的一些选择器以及优先级的比较
- ng-repeat 中动态绑定ng-click 点击事件处理函数&动态改变ng-class
- 剑指offer10--O(1)的时间实现单链表节点的删除
- javascript 闭包
- Javascript模块化编程(三):require.js的用法
- HTML5 结构性标签 行内语义性标签
- multiple 小笔记
- 剑指offer09--输入n后输出所以n位数
- Javascript模块化编程(二):AMD规范
- AngularJS Filter过滤器详情
- HTML5 初步了解
- Javascript模块化编程(一):模块的写法
- 剑指offer(二十八)之丑数
- WEB项目前端表单认证遇到的问题的反思及总结
- jQuery最基础最全面的选择器大览
- jsp 四大对象的作用域
- 习题 8-18 UVA - 1619 Feel Good 感觉不错 (容斥定理)
- mac 搭建react-native环境,无法run-android的问题