Android偏好缓存SharedPreferences存储数据用法
2015-04-28 12:51:44 By: shinyuu
很久多时候我们都会保存软件的配置文件和用户的偏好设置、由于其配置信息并不多、如果采用数据库来存放并不划算、因为数据库连接跟操作等耗时大大影响了程序的效率、因此使用键值对的方式来存放这些配置信息、SharedPreferences正是Android中用于实现这中存储方式的技术
SharedPreferences的使用非常简单、能够轻松的存放数据和读取数据、SharedPreferences只能保存简单类型的数据、例如、String、int等、一般会将复杂类型的数据转换成Base64编码、然后将转换后的数据以字符串的形式保存在 XML文件中、再用SharedPreferences保存
使用SharedPreferences保存key-value对的步骤如下
1、使用Activity类的getSharedPreferences方法获得SharedPreferences对象、其中存储key-value的文件的名称由getSharedPreferences方法的第一个参数指定
2、使用SharedPreferences接口的edit获得SharedPreferences.Editor对象
3、通过SharedPreferences.Editor接口的putXxx方法保存key-value对、其中Xxx表示不同的数据类型、例如:字符串类型的value需要用putString方法
4、通过SharedPreferences.Editor接口的commit方法保存key-value对、commit方法相当于数据库事务中的提交(commit)操作
具体代码的书写流程如下、以下为个人为是否第一次打开的缓存功能
初始化SharedPreferences
public static void init(Context context) { mSettingPreferences = context .getSharedPreferences(AUTO11_APPFIRSTOPEN_PREFERENCES, Activity.MODE_PRIVATE); }
释放SharedPreferences
public static void relese() { mSettingPreferences = null; }
清空SharedPreferences
public static void clear() { // Retrieve an editor to modify the shared preferences. SharedPreferences.Editor editor = mSettingPreferences.edit(); editor.putString(AUTO11_APPFIRSTOPEN_PREFERENCES, null); // Commit changes. editor.commit(); }
获取SharedPreferences
@SuppressLint("NewApi") public static boolean getIsFirstOpen() { return mSettingPreferences .getBoolean(AUTO11_APPFIRSTOPEN_PREFERENCES, false); }
设置SharedPreferences
@SuppressLint("NewApi") public static void setIsFirstOpen(boolean isFirstOpen) { // Retrieve an editor to modify the shared preferences. SharedPreferences.Editor editor = mSettingPreferences.edit(); editor.putBoolean(AUTO11_APPFIRSTOPEN_PREFERENCES, isFirstOpen); // Commit changes. editor.commit(); }
源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1o6r91vs 密码: w8re
若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力
想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)
或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)
如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教
为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)
感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛