您的位置:首页 > 移动开发 > Android开发

Android之SharedPreference存储一个对象

2018-01-12 00:54 369 查看
思路是采用把对象转化成json

需要Gson的gradle

compile 'com.google.code.gson:gson:2.6.2'


把对象转化成json,我这里是List<Object>

Gson gson = new Gson();
String json = gson.toJson(list)


存储string

getSharedPreferences("item_name_list",Context.MODE_PRIVATE)
.edit()
.putString("item_name_list", json)
.apply();


获取string

String listJson = getSharedPreferences("item_name_list", Context.MODE_PRIVATE).getString("item_name_list", "");


查看string格式

[{"layoutId":2131296285},{"a":"日常心理学","b":false,"layoutId":0},{"a":"用户推荐日报","b":false,"layoutId":0},{"a":"电影日报","b":false,"layoutId":0},{"a":"不许无聊","b":false,"layoutId":0},{"a":"设计日报","b":false,"layoutId":0},{"a":"大公司日报","b":false,"layoutId":0},{"a":"财经日报","b":false,"layoutId":0},{"a":"互联网安全","b":false,"layoutId":0},{"a":"开始游戏","b":false,"layoutId":0},{"a":"音乐日报","b":false,"layoutId":0},{"a":"动漫日报","b":false,"layoutId":0},{"a":"体育日报","b":false,"layoutId":0}]

可以直接采用Gson解析成Bean,我这里采用的阿里巴巴解析json的jar包灵活地解析(为了不创建javabean)

list.add(new Bean0().setLayoutId(R.layout.item_left_rv_home_page));
JSONArray array = JSONArray.parseArray(listJson);
for (int i = 1; i < array.size(); i ++) {
JSONObject o = array.getJSONObject(i);
list.add(new Bean2(o.get("a"), o.get("b")).setLayoutId(R.layout.item_left_rv));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: