相关文章推荐
爱搭讪的大蒜  ·  CAS cannot find ...·  2 年前    · 
坏坏的牛排  ·  使用Yocto ...·  2 年前    · 
昨天做了一个搜索历史的功能,然后根据搜索的历史可以调回到上一个页面,这里涉及到一个用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的时候,都要操作很多次同样的操作,
 * 于是将很多操作直接放到一起来, 图个省事,以后不用每次都去操作这些相同的操作。