Android SharedPreferences存取操作以及封装详解
短信预约 -IT技能 免费直播动态提醒
存
首先初始化
private SP sp;
sp = new SP( context );
存入数据
第一个参数为上下文,第二个参数为key,第三个参数为要存入的数据Value
sp.PutData( context,"AccessToken",AccessToken );
取
初始化
private SP sp;
sp = new SP( context );
取出数据
第一个参数为上下文,第二个参数为存入数据时定义的名称,第三个数据为取出数据的默认类型(这个参数很关键,再封装类转换类型时尤为重要)
AccessToken = (String) sp.GetData( context,"AccessToken","" );
封装类
public class SP {
private static SP spInstant;
private String defaultModelName;
public SP(){
}
public SP (Context context){
if (spInstant == null){
spInstant = new SP( );
spInstant.defaultModelName = context.getResources().getString( R.string.DefaultModelName );
}
}
public void PutData(Context context,String key,Object value){
PutData( context,defaultModelName,key,value );
}
private void PutData(Context context,String defaultModelName ,String key,Object value){
SharedPreferences preferences = context.getSharedPreferences( defaultModelName,Context.MODE_PRIVATE );
SharedPreferences.Editor editor = preferences.edit();
if (value instanceof Boolean){
editor.putBoolean( key,(Boolean) value );
}else if (value instanceof Integer){
editor.putInt( key,(Integer)value );
}else if (value instanceof Float){
editor.putFloat( key,(Float)value );
}else if (value instanceof Long){
editor.putLong( key,(Long)value );
}else if (value instanceof String){
editor.putString( key,(String)value );
}else{
return;
}
editor.apply();
}
public Object GetData(Context context,String key,Object defaultValue){
return GetData( context,defaultModelName,key,defaultValue);
}
private Object GetData(Context context,String defaultModelName,String key,Object defaultValue){
SharedPreferences preferences = context.getSharedPreferences( defaultModelName,Context.MODE_PRIVATE );
if (defaultValue instanceof Boolean){
return preferences.getBoolean( key,(Boolean) defaultValue );
}else if (defaultValue instanceof Integer){
return preferences.getInt( key,(Integer) defaultValue );
}else if (defaultValue instanceof Float){
return preferences.getFloat( key,(Float) defaultValue );
}else if (defaultValue instanceof Long){
return preferences.getLong( key,(Long) defaultValue );
}else if (defaultValue instanceof String){
return preferences.getString( key,(String) defaultValue );
}else{
return null;
}
}
}
到此这篇关于Android SharedPreferences存取操作以及封装详解的文章就介绍到这了,更多相关Android SharedPreferences内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341