安卓用SharedPreferences保存对象到本地和取出方法
2014-05-26 15:01
260 查看
public static void saveObj(Context context, SharedPreferences sp,
String key, Object value) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
byteArrayOutputStream);
objectOutputStream.writeObject(value);
String objString = new String(Base64.encode(
byteArrayOutputStream.toByteArray(), Base64.DEFAULT));
sp.edit().putString(key, objString).commit();
objectOutputStream.close();
}
public static Object getObj(Context context, SharedPreferences sp,
String key) throws StreamCorruptedException, IOException,
ClassNotFoundException {
String str = sp.getString(key, "");
if (str.length() <= 0)
return null;
Object obj = null;
byte[] mobileBytes = Base64.decode(str.toString().getBytes(),
Base64.DEFAULT);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
mobileBytes);
ObjectInputStream objectInputStream;
objectInputStream = new ObjectInputStream(byteArrayInputStream);
obj = objectInputStream.readObject();
objectInputStream.close();
return obj;
}
String key, Object value) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
ObjectOutputStream objectOutputStream = new ObjectOutputStream(
byteArrayOutputStream);
objectOutputStream.writeObject(value);
String objString = new String(Base64.encode(
byteArrayOutputStream.toByteArray(), Base64.DEFAULT));
sp.edit().putString(key, objString).commit();
objectOutputStream.close();
}
public static Object getObj(Context context, SharedPreferences sp,
String key) throws StreamCorruptedException, IOException,
ClassNotFoundException {
String str = sp.getString(key, "");
if (str.length() <= 0)
return null;
Object obj = null;
byte[] mobileBytes = Base64.decode(str.toString().getBytes(),
Base64.DEFAULT);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(
mobileBytes);
ObjectInputStream objectInputStream;
objectInputStream = new ObjectInputStream(byteArrayInputStream);
obj = objectInputStream.readObject();
objectInputStream.close();
return obj;
}
相关文章推荐
- java实现从RUI获取文件并保存本地(实用方法)
- 简单对象序列化保存本地示例
- 类对象序列化(反序列化)成xml文件或者二进制文件到本地文件方法
- JNI学习笔记:(1)开篇(2)本地代码访问Java代码 (3)本地方法取得Java属性/调用java方法 (4)本地代码创建Java对象(包括javaString) (5) 本地方法处理java数组
- flex共享对象ShareObject在win7系统本地保存路径
- ASPX保存远程图片到本地的两种方法的函数
- Android中JNI高级应用 - 本地C代码中创建Java对象及本地JNI对象的保存
- 用归档保存的对象,其子对象必须也支持归档包括自定义的对象。及实现initWithCoder和encodeWithCoder方法
- JAVA本地方法调用(3)对象参数传递
- JFreeChart生成折线图(生成图片本地保存,有解决中文乱码的通用方法)
- ASPX保存远程图片到本地的两种方法的函数
- 保存中其他对象不变,删除数据库中所有数据的实现方法
- ASPX保存远程图片到本地的两种方法的函数
- 用C#编程从数据库中读取图片数据导进Excel文件的方法(如何从数据库中读取保存的文件,直接打开,中间不保存到本地)
- SharedObject对象保存二进制数据到本地
- 保存文件等二进制大对象到oracle数据库中的解决方法
- 从剪贴板取出图片, 修改后再保存到本地
- 保存数据库中其他对象不变,删除数据库中所有数据的实现方法
- Android中JNI高级应用 - 本地C代码中创建Java对象及本地JNI对象的保存
- Android中JNI高级应用 - 本地C代码中创建Java对象及本地JNI对象的保存