Serialize
Serialize copied to clipboard
每次覆盖安装应用后,数据模型集合都会变成默认值
这是保存在Serialize里的数据
var ConfigList: ArrayList<Model> by serialLazy(
arrayListOf(
PrintModel("", true, true),
PrintModel("", true, true),
PrintModel("", true, true)
)
)
这是修改数据后重新保存的操作
AppConfig.ConfigList = adapter.data as ArrayList<Model>
每次打开app后数据是没问题的,但是覆盖安装后数据就没了,请问是这样写的吗😂
我刚才看了下,好像提示不可序列化异常 NotSerializableException
但是我在model类上加了@Parcelize并且继承了Parcelable,还是这么说😥
好像只能存基本类型的list或者是数据类,不能存数据类的集合,这咋办😥
Model实现了序列化接口吗?
Model实现了序列化接口吗?
实现了
@Parcelize
data class PrintConfigModel(var name: String, var enabled: Boolean, var required: Boolean) : Parcelable
你fork仓库复现问题
你fork仓库复现问题
https://github.com/SaltedFish-Extreme/Serialize.git
其实就一行代码
serialize("name" to arrayListOf(TestModel("aaa",true)))
java.io.NotSerializableException: com.drake.serialize.sample.model.TestModel
@liangjingkanji 老哥不行了吗?要不我就转json用吧😥
我也遇到这个问题了,var commandHistoryList:MutableList<String> by serial(default = mutableListOf(), name = "command_history") ,点击AS run后数据没了
我也遇到这个问题了,var commandHistoryList:MutableList by serial(default = mutableListOf(), name = "command_history") ,点击AS run后数据没了
你也在list里装的对象吗?我把对象集合转成json存取就好了😂
List里面的对象是否序列化(父类序列化是无效的), 不过我最近计划重构序列化实现了
我装的是String
我装的是String
你装字符串的话,你得重新赋值啊,文档里都写着呢😂
我装的是String
你装字符串的话,你得重新赋值啊,文档里都写着呢😂
啊,我去看清楚点
//改变序列化对象内的字段要求重新赋值
AppConfig.SearchHistory.apply {
//改变序列化对象内的字段要求重新赋值
AppConfig.SearchHistory = this
}