我有一个代码来获取收件箱并在ListAdapter中显示,现在我想将收件箱数据保存到xml文件我希望与服务器通信,确切地将xml文件发送到服务器。怎么样?
这是我的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
public void onClick(View arg0) {
startActivity(new Intent(MainActivity.this, ListAdapter.class));
}
List<SMSData> smsList2 = new ArrayList<SMSData>();
Uri outuri = Uri.parse("content://sms/sent");
Cursor outc = getContentResolver()
.query(outuri, null, null, null, null);
startManagingCursor(outc);
// Read the sms data and store it in the list
if (outc.moveToFirst()) {
for (int i = 0; i < outc.getCount(); i++) {
SMSData sms = new SMSData();
sms.setBody(outc.getString(outc.getColumnIndexOrThrow("body"))
.toString());
sms.setNumber(outc.getString(
outc.getColumnIndexOrThrow("address")).toString());
smsList2.add(sms);
outc.moveToNext();
}
}
outc.close();
// Set smsList in the ListAdapter
setListAdapter(new ListAdapter2(this, smsList2));
}
你能帮助我吗?
答案 0 :(得分:0)
如果您的xml文件具有简单的内容,您可以像简单的文本文件一样编写它。这是代码草案
public void save() {
String content = "<content>";
for (SMS sms : smsList) {
content += "<sms>";
content += "<body>" + sms.getBody() + "</body>";
content += "<number>" + sms.getNumber() + "</number>";
content += "</sms>";
}
content += "</content>"
// now we can send string to server or can save it
FileWriter writer = new FileWriter(new File(%path_where_you_want_to_save%));
writer.write(content);
writer.close();
}
如果您的xml将具有更复杂的结构,请尝试使用序列化库。像Simple一样。 关于简单的好教程你可以找到here
P.S。如果您可以更改服务器代码,我建议您使用JSON格式而不是XML。它更简单。要以JSON格式保存数据,您可以使用谷歌GSON库。