SharePreference封装成工具类
来源:互联网 发布:制衣打飞软件 编辑:程序博客网 时间:2024/06/16 04:48
Android开发中经常需要保存一些用户配置信息,一般都会保存在SharePreference当中。
但是每次都用getSharedPreferences太麻烦了。
我在项目中对SharePreference的频率操作封装在一个类中。
在使用时不需要传入Context和key,保存的时候只需要传入值,获取时不需要传入key。
/** * SharePreference基类 * 这里只写了对最常用的三种基本数据类型的操作。 */public class BasePreference { private Context context; private SharedPreferences sp; private SharedPreferences.Editor editor; private String FILE_NAME = "userinfo"; protected BasePreference(Context context) { this.context = context; sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE); } protected void setString(String key, String value) { sp.edit().putString(key, value).apply(); } protected String getString(String key) { return sp.getString(key, null); } protected void setBoolean(String key, boolean value) { sp.edit().putBoolean(key, value).apply(); } protected boolean getBoolean(String key) { return sp.getBoolean(key, false); } protected void setInt(String key, int value) { sp.edit().putInt(key, value).apply(); } protected int getInt(String key) { return sp.getInt(key, 0); }}
然后创建一个子类,实现此基类
/** * 具体实现sp * Created by Dujuncan on 2016/10/30. */public class PreferenceUtils extends BasePreference { private static PreferenceUtils preferenceUtils; /** * 需要增加key就在这里新建 */ //用户名的key private String USER_NAME = "user_name"; //是否首次启动的key private String FIRST_LAUNCH = "first_launch"; private PreferenceUtils(Context context) { super(context); } /** * 这里我通过自定义的Application来获取Context对象,所以在获取preferenceUtils时不需要传入Context。 * @return */ public synchronized static PreferenceUtils getInstance() { if (null == preferenceUtils) { preferenceUtils = new PreferenceUtils(MyApplication.getInstance()); } return preferenceUtils; } public void setFirstLaunch(boolean isFirst) { setBoolean(FIRST_LAUNCH,isFirst); } public boolean getFirstlaunch() { return getBoolean(FIRST_LAUNCH); } public void setUserName(String name) { setString("fefe", name); } public String getUSER_NAME_KEY() { return getString(USER_NAME); }}
最后在Activity中使用
PreferenceUtils preferenceUtils = PreferenceUtils.getInstance(); preferenceUtils.setFirstLaunch(true); String userName = preferenceUtils.getUserName();
1 0
- SharePreference封装成工具类
- 工具类的封装-sharePreference的封装
- Sharepreference 简单工具类
- SharePreference工具类
- SharePreference工具类
- SharePreference封装
- sharePreference封装
- SharePreference数据存储工具类
- 常用的sharePreference工具类
- android写一个sharepreference工具类
- SharePreference简单封装
- SharePreference封装使用
- SQLite/sharePreference可视化工具
- 封装AsyncTask成工具类
- SharePreference
- SharePreference
- SharePreference
- SharePreference
- KMP
- jsp如何实现模态窗口
- visual studio 2010 MFC通过ODBC访问MySQL数据库
- Makefile中定义函数
- 第七章 类 c++primer
- SharePreference封装成工具类
- php程序员层次水平
- Coin Change
- 拆装机总结
- codevs1204 寻找子串位置
- HDOj 5918 Sequence I【KMP】
- 横竖屏切换SurfaceView 大小的调整
- Aho-Corasick 自动机
- 求二叉树的所有末级左节点的值的和