在我们的移动端项目开发中我想SharedPreferences用的也是比较多的吧所以这时就必须要有一个公共的工具类,所以今天就记录一个超好用的SP工具类话不多说直接上代码

首先创建一个名为SharedPreferencesUtils的工具类

public class SharedPreferencesUtils {

private static final String FILE_NAME="share_data";

public static void setParem(Context context,String key,Object object){

String type = object.getClass().getSimpleName();

SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);

SharedPreferences.Editor editor = sp.edit();

if ("String".equals(type)){

editor.putString(key,(String)object);

}else if ("Boolean".equals(type)){

editor.putBoolean(key,(Boolean)object);

}else if ("Integer".equals(type)){

editor.putInt(key,(Integer)object);

}else if ("Float".equals(type)){

editor.putFloat(key,(Float)object);

}else if ("Long".equals(type)){

editor.putLong(key,(Long)object);

}

editor.commit();

}

public static Object getParem(Context context,String key,Object defaultObject){

String type = defaultObject.getClass().getSimpleName();

SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);

if ("String".equals(type)){

sp.getString(key,(String)defaultObject);

}else if ("Boolean".equals(type)){

sp.getBoolean(key,(Boolean)defaultObject);

}else if ("Integer".equals(type)){

sp.getInt(key,(Integer)defaultObject);

}else if ("Float".equals(type)){

sp.getFloat(key,(Float)defaultObject);

}else if ("Long".equals(type)){

sp.getLong(key,(Long)defaultObject);

}

return null;

}

}

那么我们究竟要怎么用这个工具类呢很简单,当我们要向里面存储数据的时候我们可以这样用。例如我这里是在LoginActivity.class中调用的所有就可以这样存储

SharedPreferencesUtils.setParem(LoginActivity.this,"key值String类型","123")

SharedPreferencesUtils.setParem(LoginActivity.this,"key值int类型",123)

SharedPreferencesUtils.setParem(LoginActivity.this,"key值Float类型","123.00")

SharedPreferencesUtils.setParem(LoginActivity.this,"key值Long类型","1230000000000000000000")

SharedPreferencesUtils.setParem(LoginActivity.this,"key值Boolean类型",true)

上面说的是向里面存值那么下面就说说怎么取值

String string = (String)SharedPreferencesUtils.getParem(LoginActivity.this,"key","");

Boolean boolean = (Boolean)SharedPreferencesUtils.getParem(LoginActivity.this,"key",false);

Float float = (Float)SharedPreferencesUtils.getParem(LoginActivity.this,"key",0.0);

int ints = (int)SharedPreferencesUtils.getParem(LoginActivity.this,"key",0);

Long long = (Long)SharedPreferencesUtils.getParem(LoginActivity.this,"key",123);

基本上这个工具类就算是大功告成了以上就是这个工具类的存取值的方法

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐