欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

Android偏好缓存SharedPreferences存储数据用法

程序员文章站 2022-03-01 13:52:32
...

很久多时候我们都会保存软件的配置文件和用户的偏好设置、由于其配置信息并不多、如果采用数据库来存放并不划算、因为数据库连接跟操作等耗时大大影响了程序的效率、因此使用键值对的方式来存放这些配置信息、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