gpt4 book ai didi

java - 无法使用 Android 中的 xstream 库序列化包含 ArrayList 的 java 对象

转载 作者:行者123 更新时间:2023-12-01 13:16:11 25 4
gpt4 key购买 nike

使用 xstream 库将 Android 中的对象序列化为 XML。但是它不起作用。此处显示的对象包含一个 ArrayList 作为成员。用xstream不可能序列化这样的对象吗?或者有什么方法可以实现这个功能吗?

http://x-stream.github.io/

 public class MainActivity extends Activity {

TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textView = (TextView) findViewById(R.id.textView1);

ArrayList<String> str = new ArrayList<String>();
str.add("test xml string one");
str.add("test xml string two");
str.add("test xml string three");

ExampleObject testObj = new ExampleObject(str);

XStream xstream = new XStream(new DomDriver());

String xmlStr = xstream.toXML(testObj);

textView.setText(xmlStr);

} // onCreate

public class ExampleObject {

ArrayList<String> memberList;

public ExampleObject(ArrayList<String> list) {
memberList = list;
}

} // ExampleObject

}

最佳答案

您是否实现了串行 UID?

以下是它可能无法正常运行的原因:

private static final long serialVersionUID = 12345678;

Serialized 类使用上面提到的 UID 来解码写入的对象。如果没有这个数字,类将无法解码该对象。我还听说,如果你显着修改类,然后尝试读回数据,操作将会失败。

关于java - 无法使用 Android 中的 xstream 库序列化包含 ArrayList 的 java 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22446794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com