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

相关推荐
加菲猫86016 小时前
文件上传简单的绕过总结
android
一直向钱18 小时前
android 自定义Dialog多种方式
android
sun00770019 小时前
OverlayManager service, overlay, idmap, rro, android
android
_Sem20 小时前
Compose 动画 + KMM 跨平台开发:从传统View到现代声明式UI动画
android·composer
2501_9160074721 小时前
前端开发工具都有哪些?常用前端开发工具清单与场景化推荐
android·ios·小程序·https·uni-app·iphone·webview
2501_915909061 天前
iOS 应用上架全流程解析,苹果应用发布步骤、ipa 上传工具、TestFlight 测试与 App Store 审核经验
android·macos·ios·小程序·uni-app·cocoa·iphone
路上^_^1 天前
安卓基础组件024-fagment
android
ljt27249606611 天前
Compose笔记(五十一)--rememberTextMeasurer
android·笔记·android jetpack
阿蓝8581 天前
Android代码架构
android
ZFJ_张福杰1 天前
【Flutter】GetX最佳实践与避坑指南
android·flutter·ios·getx