package com.camnter.newlife.utils;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;
/**
* SharedPreferences Util
* SharedPreferences工具类
*
* @author CaMnter
* 2015-10-19
*/
public class SharedPreferencesUtils {
public static final String TAG = "SharedPreferencesUtils";
/**
* --> String <--
* Use SharedPreferences save the data
* SharedPreferences保存数据
*/
public static void save(Context context, String xmlName, String key, String value) {
// 通过Activity自带的getSharedPreferences方法,得到SharedPreferences对象
// 第一个参数表示保存后 xml 文件的名称(底层实现是将数据保存到xml文档中)。
// 第二个参数表示xml文档的权限为私有,并且重新写的数据会覆盖掉原来的数据
SharedPreferences preferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
// 通过preferences得到它的编辑器对象edit
SharedPreferences.Editor editor = preferences.edit();
if ((value != null) && !"".equals(value.trim())) {
// 通过编辑器将key属性和对应的value中输入的值写入到xml文档中
editor.putString(key, value);
// 添加数据完成后,提交编辑器的添加操作
editor.apply();
} else {
Log.e(SharedPreferencesUtils.TAG, "The value parameter is invalid");
}
}
/**
* --> int <--
* Use SharedPreferences save the data
* SharedPreferences保存数据
*/
public static void save(Context context, String xmlName, String key, int value) {
// 通过Activity自带的getSharedPreferences方法,得到SharedPreferences对象
// 第一个参数表示保存后 xml 文件的名称(底层实现是将数据保存到xml文档中)。
// 第二个参数表示xml文档的权限为私有,并且重新写的数据会覆盖掉原来的数据
SharedPreferences preferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
// 通过preferences得到它的编辑器对象edit
SharedPreferences.Editor editor = preferences.edit();
// 通过编辑器将key属性和对应的value中输入的值写入到xml文档中
editor.putInt(key, value);
// 添加数据完成后,提交编辑器的添加操作
editor.apply();
}
/**
* --> int <--
* Use SharedPreferences save the data
* SharedPreferences保存数据
*/
public static void save(Context context, String xmlName, String key, long value) {
// 通过Activity自带的getSharedPreferences方法,得到SharedPreferences对象
// 第一个参数表示保存后 xml 文件的名称(底层实现是将数据保存到xml文档中)。
// 第二个参数表示xml文档的权限为私有,并且重新写的数据会覆盖掉原来的数据
SharedPreferences preferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
// 通过preferences得到它的编辑器对象edit
SharedPreferences.Editor editor = preferences.edit();
// 通过编辑器将key属性和对应的value中输入的值写入到xml文档中
editor.putLong(key, value);
// 添加数据完成后,提交编辑器的添加操作
editor.apply();
}
/**
* --> float <--
* Use SharedPreferences save the data
* SharedPreferences保存数据
*/
public static void save(Context context, String xmlName, String key, float value) {
// 通过Activity自带的getSharedPreferences方法,得到SharedPreferences对象
// 第一个参数表示保存后 xml 文件的名称(底层实现是将数据保存到xml文档中)。
// 第二个参数表示xml文档的权限为私有,并且重新写的数据会覆盖掉原来的数据
SharedPreferences preferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
// 通过preferences得到它的编辑器对象edit
SharedPreferences.Editor editor = preferences.edit();
// 通过编辑器将key属性和对应的value中输入的值写入到xml文档中
editor.putFloat(key, value);
// 添加数据完成后,提交编辑器的添加操作
editor.apply();
}
/**
* --> String <--
* Use SharedPreferences load the data
* SharedPreferences读取数据
*/
public static String loadString(Context context, String xmlName, String key) {
// 通过Activity自带的getSharedPreferences方法,得到SharedPreferences对象
// 此时的第一个参数表示当前应用中的xmlName文件
// 如果只读的话,第二个参数没有什么意义,但方法参数需要,可以随便写
SharedPreferences preferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
// 得到文件中的key标签值,第二个参数表示如果没有这个标签的话,返回的默认值
return preferences.getString(key, null);
}
/**
* --> int <--
* Use SharedPreferences load the data
* SharedPreferences读取数据
*/
public static int loadInt(Context context, String xmlName, String key) {
// 通过Activity自带的getSharedPreferences方法,得到SharedPreferences对象
// 此时的第一个参数表示当前应用中的xmlName文件
// 如果只读的话,第二个参数没有什么意义,但方法参数需要,可以随便写
SharedPreferences preferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
// 得到文件中的key标签值,第二个参数表示如果没有这个标签的话,返回的默认值
return preferences.getInt(key, 0);
}
/**
* --> long <--
* Use SharedPreferences load the data
* SharedPreferences读取数据
*/
public static long loadLong(Context context, String xmlName, String key) {
// 通过Activity自带的getSharedPreferences方法,得到SharedPreferences对象
// 此时的第一个参数表示当前应用中的xmlName文件
// 如果只读的话,第二个参数没有什么意义,但方法参数需要,可以随便写
SharedPreferences preferences = context.getSharedPreferences(xmlName, Context.MODE_PRIVATE);
// 得到文件中的key标签值,第二个参数表示如果没有这个标签的话,返回的默认值
return preferences.getLong(key, 0);
}
}