Android SharedPreferences存取操作以及封装详解
作者:FranzLiszt1847 时间:2022-11-02 07:10:19
存
首先初始化
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;
}
}
}
来源:https://blog.csdn.net/News53231323/article/details/120434977
标签:Android,SharedPreferences,存取,封装
0
投稿
猜你喜欢
Java实现的断点续传功能的示例代码
2023-05-25 12:17:22
详解c# 类的构造方法
2023-02-10 17:17:19
Java经典面试题汇总:Mybatis
2021-09-20 07:42:44
spring mvc实现登录账号单浏览器登录
2022-06-28 22:29:47
使用 C# 下载文件的多种方法小结
2023-11-08 06:59:37
Android实现手机振动设置的方法
2021-08-02 23:46:21
教你怎么使用hadoop来提取文件中的指定内容
2021-07-08 02:22:50
Spring Boot 日志配置方法(超详细)
2021-09-06 19:08:52
springboot实现FastJson解析json数据的方法
2023-11-27 22:12:48
SpringBoot自定义maven-plugin插件整合asm代码插桩
2021-05-24 02:15:49
SpringBoot整合第三方技术的详细步骤
2023-11-29 08:22:48
flutter实现倒计时加载页面
2023-08-18 23:30:09
JAVA过滤标签实现将html内容转换为文本的方法示例
2022-10-16 21:02:40
Java实现堆排序(Heapsort)实例代码
2023-06-15 02:02:11
Spring 中 PageHelper 不生效问题及解决方法
2021-11-25 11:25:04
Android ViewPager实现Banner循环播放
2022-07-16 06:24:03
C#手动操作DataGridView使用各种数据源填充表格实例
2023-07-20 08:30:31
Java xml出现错误 javax.xml.transform.TransformerException: java.lang.NullPointerException
2023-11-08 14:48:13
Unity3D撤回命令开发详解
2022-01-15 09:26:21
Android应用内悬浮窗Activity的简单实现
2023-07-28 04:03:00