反序列化时出现InvalidClassException和IllegalAccessException

时间:2013-03-19 09:01:39

标签: java android serialization deserialization

我序列化了一个扩展LinearLayout的类,如下面的代码片段所示。在反序列化时,我得到了上述异常。与在this链接中一样,不可能序列化ImageView(对于所有其他视图,我猜也是如此)。那么,有没有替代方案或我必须去SQLite数据库本身?建议或线索表示赞赏。

public class MyClass extends LinearLayout implements java.io.Serializable {


private static final long serialVersionUID = 1L;

private String mThemeImageName;
private ArrayList<STCharacter> mCharacterList;
private String mStoryText;
private int mSceneNumber;
private boolean mIsSceneHasCharacters;

public STScene(Context context) {
    super(context);
}

public STScene(Context context, AttributeSet attrs) {
    super(context, attrs);
}

//getters and setters below

1 个答案:

答案 0 :(得分:1)

我认为这里的问题是您尝试序列化/反序列化复杂类,而不是使用“简单”数据类作为LinearLayout中的字段。

因此,引入一个数据持有者(类),您可以序列化/反序列化(并单独测试),并将其作为线性布局中的属性添加。

相关问题