Android将对象存储到SharedPreferences中
来源:互联网 发布:wmv文件破解软件 编辑:程序博客网 时间:2024/06/05 09:57
如果需要将一个对象存储到Android SharedPreferences中,可以用到下面的办法:
以我的例子来说,我需要将一个标记账本的对象,其中元素为封面背景id(int)和账本名称(String)的对象存储至SharedPreferences。
下面是我封装改账本(Book)的Bean:
package beans;/** * Created by Chase on 2017/5/3. */public class BookBean { public String bookName; public int bookBgSrc; public BookBean(){ } public BookBean(String bookName,int bookBgSrc){ this.bookName = bookName; this.bookBgSrc =bookBgSrc; } public String getBookName(){ return bookName; } public int getBookBgSrc(){ return bookBgSrc; } public void setBookBgSrc(int bookBgSrc) { this.bookBgSrc = bookBgSrc; } public void setBookName(String bookName) { this.bookName = bookName; }}
下面编写两个方法用来存储和读取这个Bean:
public class SpUtils { private static SharedPreferences sp; /** * 4.存储账本bookBean的list */ public static void putBookBean(Context ctx, List<BookBean> bookList) { if (sp == null) { sp = ctx.getSharedPreferences("config", MODE_PRIVATE); } SharedPreferences.Editor editor = sp.edit(); Gson gson = new Gson(); String json = gson.toJson(bookList); editor.putString(ConstantValue.BOOK_BEAN, json); editor.commit(); } }
/** * 读取账本bookBean的list */ public static List<BookBean> getBookBean(Context ctx) { if (sp == null) { sp = ctx.getSharedPreferences("config", MODE_PRIVATE); } Gson gson = new Gson(); String json = sp.getString(ConstantValue.BOOK_BEAN, null); Type type = new TypeToken<List<BookBean>>() { }.getType(); List<BookBean> arrayList = gson.fromJson(json, type); return arrayList; }
上面读取的Type应该是java.long.reflect的。
参考一些可能出现的错误:
http://stackoverflow.com/questions/43774750/failed-to-deserialized-json-object
`
0 0
- Android将对象存储到SharedPreferences中
- Android将对象存储到SharedPreferences中
- Android 将数据存储到SharedPreferences 中
- 将对象存储到SharedPreferences里
- SharedPreferences 存储(将数据存储到 SharedPreferences 中)
- 将数据存储到SharedPreferences中
- Android 中使用SharedPreferences存储通用对象
- android SharedPreferences 存储对象
- android SharedPreferences 存储对象
- android SharedPreferences 存储对象
- android SharedPreferences 存储对象
- android 学习笔记 将数据存储到SharedPreferences中 并且读取数据
- android 将简单的数据存储到本地-SharedPreferences
- Android SharedPreferences 存储复杂对象
- Android SharedPreferences 存储复杂对象
- android中通过SharedPreferences进行对象的存储
- android中通过SharedPreferences进行对象的存储
- android中通过SharedPreferences进行对象的存储
- TinyOS IDS实现
- pyhton列表转换为数组
- 十分钟读懂『卡尔曼滤波算法』
- 游戏
- 最简方法:最大公约数与最小公倍数
- Android将对象存储到SharedPreferences中
- 为什么国内有不少PHP程序员不喜欢THINKPHP,甚至鄙视THINKPHP?
- ffmpeg实战教程(二)用SDL播放YUV,并结合ffmpeg实现简易播放器
- Android View体系-视图坐标系
- HDU 1533 Going Home (二分图最小权匹配 KM模板)
- Jenkins进阶系列之——07更改Jenkins的主目录
- [分布式监控CAT] Client端源码解析
- appium for window 环境搭建
- MYSQL建表时PK,NN,UQ,BIN,UN,ZF,AI字段标识的意义