当前位置: 首页 > news >正文

Android -- 使用Sharepreference保存List储存失败,原因是包含Bitmap,drawable等类型数据

1.报错信息如下:

class android.content.res.ColorStateList declares multiple JSON fields named mChangingConfigurations 

2.Bean类属性如下:

data class AppInfoBean(
val appName: String?,
val appIcon: Drawable,
val appPackage: String?,
val appActivity: String? = null,
val thirdApp: Boolean = false
) : Parcelable {

经过一番百度搜刮,终于找到了原因所在,就是list在存储时需要序列化,但是Drawable类型不支持,我去,这是很基础的知识阿!

3.解决思路很简单,就是

  • 可以通过将 Drawable 转换为 Bitmap、资源 ID 或 Base64 字符串间接实现。

  • 对于 List<Drawable>,可以将每个 Drawable 转换为 byte[]String,然后存储为 List<byte[]>List<String>

  • 推荐使用 Bitmap 或资源 ID 的方式,因为它们更高效且易于管理。

相关文章:

  • 重庆市门户网站制作百度推广客服电话
  • 北京做网站费用怎么弄一个自己的链接
  • 宜昌网站建设公司最新新闻热点话题
  • 网站开发的技术难点友情链接作用
  • 服务器用来做网站空间seo顾问服务 乐云践新专家
  • 自然资源网站官网50篇经典软文100字
  • 前端各大框架路由跳转
  • 【leetcode hot 100 438】找到字符串中所有字母异位词
  • Burp Suite Professional 2024版本安装激活指南
  • 鸿蒙HarmonyOS 开发简介
  • 数据库MySQL,在终端输入后,提示不是内部命令等
  • 【Redis】Redis 入门
  • NO.21十六届蓝桥杯备战|一维数组|范围for|memset|memcpy(C++)
  • 数据库复习
  • unity pico开发 三 移动 旋转 传送
  • Python深度学习环境配置(Pytorch、CUDA、cuDNN),包括Anaconda搭配Pycharm的环境搭建以及基础使用教程(保姆级教程,适合小白、深度学习零基础入门)
  • 经验总结:使用vue3测试后端接口的模板
  • 【京准时钟】网络时间同步服务器对数据库的重要性
  • 【JAVA】阿里云百炼平台对接DeepSeek-V3大模型使用详解
  • DOM Node
  • 鸿蒙NEXT开发-Navigation组件导航
  • Python - Python操作Redis
  • JavaWeb后端基础(1)
  • 【Linux】Linux的基本指令(2)
  • 数据库数据恢复—SQL Server附加数据库报错“错误 823”怎么办?
  • PHP面试题--后端部分