用SharedPreferences存储一些常用的设置信息很方便,但是我们知道SharedPreferences只能存储一些简单的类型
如何用SharedPreferences来存储一些复杂的对象?下面以map为例,看看SharedPreferences 存储复杂对象的方法
如果想用SharedPreferences存取复杂的数据类型,就需要对这些数据进行编码。通常会将数据转换成Base64编码,然后将转换后的数据以字符串存储。
存储:
//将map转换为byte[]
ByteArrayOutputStream toByte = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(toByte);
oos.writeObject(map);
//对byte[]进行Base64编码
String payCityMapBase64 = new String(Base64Coder.encode(toByte.toByteArray()));
// 存储
editor.putString(KEY_CITY, payCityMapBase64);
editor.commit();
下面是读取:
byte[] base64Bytes = Base64Coder.decode(prefer.getString(KEY_CITY, null));
ByteArrayInputStream bais = new ByteArrayInputStream(base64Bytes);
ObjectInputStream ois = new ObjectInputStream(bais);
map = (Map) ois.readObject();
boolean b= (Boolean) map.get(cityId);
分享到:
相关推荐
介绍了SharedPreferences存储复杂的对象源码!
Fit 利用 SharedPreferences 存储对象
android,SharedPreferences
Proto DataStore 用于存储类型化对象,后面会分别给出 对应的使用例子。 二、SharedPreferences缺点 DataStore 出现之前,我们用的最多的存储方式毫无疑问是 SP ,其使用方式简单、易用,广受好评。 然而 google 对...
android应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demo...
Android 3种数据保存(SharedPreferences存储 内部文件存储 数据库存储),如项目包有问题请联系我谢谢
Android SharedPreferences应用 实现本地注册登陆 功能简单易懂(实例) http://blog.csdn.net/h1028962069/article/details/9129851 文章代码
Android系统SharedPreferences进行的封装
利用SharedPreferences设置初始密码,并修改密码。详见http://blog.csdn.net/chenfengdejuanlian/article/details/46331031
Android SharedPreferences SP 工具类,存储临时数据用
通过代码文件将SharedPreferences数据存储的使用做了进一步的使用,让更多人懂得使用它
android SharedPreferences 载入已记住的用户信息,类写的简单易懂,很清楚
Sharedpreferences存储数据的使用方法_完整Demo_AndroidStudio http://blog.csdn.net/iwanghang
Android使用SharedPreferences进行数据存储,缓存ID等数据
使用SharedPreferences保存key-value对
Android本地存储SharedPreferences详解 存储位置 SharedPreferences数据保存在: /data /data/<package> /shared_prefs 文件夹下,以XML格式保存,根元素为:。文件名称为获取SharedPreferences实例时传递的參数值。...
android SharedPreferences记录你的登录信息
Android数据存储之SharedPreferences,自己根据文档编写的代码,有需要的就下载吧。
Simple Android SharedPreferences wrapper. Repository Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ... maven { url ...
在Android使用SharedPreferences实现自动登录