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

相关推荐
xianrenli381 小时前
android特许权限调试
android
*拯4 小时前
Uniapp Android/IOS 获取手机通讯录
android·ios·uni-app
天天打码6 小时前
Lynx-字节跳动跨平台框架多端兼容Android, iOS, Web 原生渲染
android·前端·javascript·ios
lilili啊啊啊8 小时前
iOS safari和android chrome开启网页调试与检查器的方法
android·ios·safari
Blue.ztl10 小时前
菜鸟之路day31一一MySQL之多表设计
android·数据库·mysql
练习本14 小时前
Android系统架构模式分析
android·java·架构·系统架构
每次的天空19 小时前
Kotlin 内联函数深度解析:从源码到实践优化
android·开发语言·kotlin
练习本19 小时前
Android MVC架构的现代化改造:构建清晰单向数据流
android·架构·mvc
早上好啊! 树哥19 小时前
android studio开发:设置屏幕朝向为竖屏,强制应用的包体始终以竖屏(纵向)展示
android·ide·android studio
YY_pdd20 小时前
使用go开发安卓程序
android·golang