我在安卓版本中保存/加载ArrayList<HashMap<String, Object>>
时出现问题。我一直在Google和SO上搜索解决方案几天,我尝试过的一切都无法工作。在不同的Android版本中保存/加载ArrayList
这是我得到的错误:
java.io.InvalidClassException: org.apache.harmony.luni.internal.util.ZoneInfo; 不兼容的类(SUID): org.apache.harmony.luni.internal.util.ZoneInfo: static final long serialVersionUID = -8334108180457627365L;但预期org.apache.harmony.luni.internal.util.ZoneInfo: static final long serialVersionUID = 2415005675580187790L;
我试过implement Serializable
和static final long serialVersionUID = 1L
含有的ObjectInputStream和ObjectOutputStream的类,但误差不会改变。进一步的测试表明,这个错误甚至在两个不同的应用程序遇到同样的问题时也不会改变,而且错误中的SUID完全取决于该文件已保存或试图加载的Android版本。
我也尝试Parcelable没有成功。
如何在不存在此问题的情况下保存并加载ArrayList?
这里是SUID的对ROM的我已经试过:
G1 1.6(CSDI V4 POR超级@ tmel):-1970599206206877388L
Droid的2.2(CyanogenMod的6.1.2):-8334108180457627365L
Droid的2.3(CyanogenMod的7每晚12):2415005675580187790L
它可以工作,但对于已有的具有这些数据类型的序列化数据,它仍然是一个问题。 – 2017-10-15 15:45:57