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

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 的方式,因为它们更高效且易于管理。


http://www.kler.cn/a/570851.html

相关文章:

  • UI自动化框架介绍
  • SpringBoot集成Netty实现Ws和Tcp通信
  • 【mysql】有索引和没有索引字段更新时锁的不同
  • C# OnnxRuntime部署DAMO-YOLO香烟检测
  • Spring Boot 自动装配深度解析与实践指南
  • React 源码揭秘 | bailout策略Memo
  • 力扣每日一题——分割回文串
  • Skyeye 云智能制造办公系统 VUE 版本 v3.15.11 发布
  • 迷你世界脚本实体接口:Actor
  • Unity 接入本地部署的DeepSeek
  • pytest的bug
  • (十 九)趣学设计模式 之 中介者模式!
  • Leetcode 54: 螺旋矩阵
  • 大白话实战docker
  • 计算机基础面试(数据库)
  • 基于springboot+vue3图书借阅管理系统
  • Linux网络相关概念和重要知识(1)(网络协议、网络通信)
  • SEKI —— 基于大型语言模型的自进化与知识启发式神经架构搜索
  • SSM家谱管理系统
  • 蓝桥杯备考:动态规划入门题目之下楼梯问题