昨天做了一个搜索历史的功能,然后根据搜索的历史可以调回到上一个页面,这里涉及到一个用sharedpreferences保存对象的问题,sharedpreferences是不能够直接保存对象的,我们需要将对象序列化成一个字符串进行存储。
例如:PlayList这样一个对象
public static void getJsonStringByEntity(Context c
昨天做了一个搜索历史的功能,然后根据搜索的历史可以调回到上一个页面,这里涉及到一个用sharedpreferences保存对象的问题,sharedpreferences是不能够直接保存对象的,我们需要将对象序列化成一个字符串进行存储。
例如:PlayList这样一个对象
public static void getJsonStringByEntity(Context context, Object object) {
String strJson = "";
Gson gson = new Gson();
strJson = gson.toJson(object);
saveSharePlayList(context,strJson);
取出来的时候,我们取出String后,通过json转换为实体对象就好了
public static PlayList getfromJson(Context context){
PlayList list = null;
String str = readSharePlayList(context);
if(str!=null){
Gson gson=new Gson();
list = gson.fromJson(str, new TypeToken<PlayList>(){}.getType());
return list;
以前我的SharedPreferences封装类根据不同类型getXXX,setXXX分好多情况。现在回过头看看,咱也是玩过泛型的。
突然灵光一闪,"少年,看你骨骼惊奇,泛型了解一下吗。
/***************************************************************************
* 封装sharedPreferences SettingsSPData
* 说明:
* 主要为了解决每次使用sharedPreferences的时候,都要操作很多次同样的操作,
* 于是将很多操作直接放到一起来, 图个省事,以后不用每次都去操作这些相同的操作。