我有一个Android应用程序,它读取XML文件并向用户提供一些信息。数据结构是一个简单的ArrayList。用户浏览列表,他们可能会进行更改,或者他们可能无法进行更改。当他们完成后,他们保存。
最终我们希望RDBMS上的数据,但他们可能在那个时刻没有数据连接,所以我需要坚持下去。即使他们确实有数据连接,我也可能会觉得我已经将数据结构序列化到SD卡。
因此,第一步是将其保持在二进制状态(它是一个非常小的数据对象)或将其序列化为XML,这是我最初的想法。这样,它就可以以xml格式上传到Web服务。
如果我将其序列化为XML,那么我可以阅读任何库/示例。我使用SAX解析它但是认为必须有类似简单的重载才能将其转储出来????
伪代码:
ArrayList<MyOb>;
MyObj.Serialize("doc.xml");
如果我坚持使用它的二进制状态,那么当用户确实有数据连接时我需要考虑的步骤是什么,并且是时间上传。
TIA JB
答案 0 :(得分:1)
您可以使用优秀的库 JAXB(用于XML绑定的Java体系结构)
JAVA Beans&lt; ---&gt; XML数据
以下是一些示例代码,可以让您对它有所了解
@XmlRootElement
public class Customer {
String name;
int age;
int id;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
@XmlElement
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
@XmlAttribute
public void setId(int id) {
this.id = id;
}
}
使用此代码形成的XML:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customer id="100">
<age>29</age>
<name>mkyong</name>
</customer>
答案 1 :(得分:0)
我将继续将数据保存为sdcard上的xml。这是我能辨认的最佳方法。