sp(SharedPreferences)存储对象

╰+哭是因爲堅強的太久メ 2021-12-24 00:45 870阅读 0赞

其实主要是利用对象输出流(ObjectOutputStream)将对象转换为二进制数据,然后将二进制数据转换为字符串,再利用SP存储字符串即可。

核心代码:

  1. /**
  2. * 保存对象
  3. * 针对复杂类型存储<对象>
  4. * 注意:要保存的对象必须序列化
  5. * @param key
  6. * @param object
  7. */
  8. public void setObject(String key, Object object) {
  9. SharedPreferences sp = this.context.getSharedPreferences(this.spName, Context.MODE_PRIVATE);
  10. //创建字节数组输出流
  11. ByteArrayOutputStream baos = new ByteArrayOutputStream();
  12. /*
  13. 对象输出流
  14. ObjectOutputStream 是实现序列化的关键类,它可以将对象转换为二进制流
  15. */
  16. ObjectOutputStream out = null;
  17. try {
  18. //然后通过将字对象进行64转码,写入key值为key的sp中
  19. out = new ObjectOutputStream(baos);
  20. //将对象写进该流中
  21. out.writeObject(object);
  22. //将二进制数据转换为字符串
  23. String objectVal = new String(Base64.encode(baos.toByteArray(), Base64.DEFAULT

发表评论

表情:
评论列表 (有 0 条评论,870人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java 对象存储

    Java是一种面向对象编程语言,它提供了类和对象的概念来组织和管理代码。在Java中,类是一种用户自定义的数据类型,它包含了属性和方法。对象是类的实例,可以通过调用对象的方法来

    相关 对象存储

    1、概念 对象存储,也称为基于对象的存储,是一种扁平结构,其中的文件被拆分成多个部分并散布在多个硬件间。 2、原理 1)在对象存储中,数据会被分解为称为“对象”的