編輯:關於android開發
在《Android 生成xml文件》一文中使用流的形式寫入xml格式文件,但是存在一定的問題,那就是在短信內容中不能出現<>之類的括號,本文使用xml序列化器來解決
xml序列化器對象
XmlSerializer xs = Xml.newSerializer();
* 給序列化器設置輸出流
File file = new File(Environment.getExternalStorageDirectory(), "backupsms.xml");
FileOutputStream fos = new FileOutputStream(file);
//給序列化器指定好輸出流
xs.setOutput(fos, "utf-8");
* 開始生成xml文件
xs.startDocument("utf-8", true);
xs.startTag(null, "smss");
......
代碼如下:
package com.wuyudong.createxml;
import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import org.xmlpull.v1.XmlSerializer;
import com.wuyudong.createxml.domain.Sms;
import com.wuyudong.createxml2.R;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.util.Xml;
import android.view.View;
public class MainActivity extends Activity {
List<Sms> message;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 創建10條虛擬短信
message = new ArrayList<Sms>();
for (int i = 0; i < 10; i++) {
Sms sms = new Sms("第" + i + "條短信", System.currentTimeMillis() + "",
"1", "" + i + i + i);
message.add(sms);
}
}
public void click(View v) {
File file = new File(Environment.getExternalStorageDirectory(),
"backup1.xml");
try {
FileOutputStream fos = new FileOutputStream(file);
// 獲取xml序列化器
XmlSerializer xs = Xml.newSerializer();
xs.setOutput(fos, "utf-8");
//生成xml頭
xs.startDocument("utf-8", true);
//添加xml根節點
xs.startTag(null, "message");
for (Sms sms : message) {
xs.startTag(null, "sms");
xs.startTag(null, "body");
xs.text(sms.getBody());
xs.endTag(null, "body");
xs.startTag(null, "date");
xs.text(sms.getDate());
xs.endTag(null, "date");
xs.startTag(null, "address");
xs.text(sms.getAddress());
xs.endTag(null, "address");
xs.startTag(null, "type");
xs.text(sms.getType());
xs.endTag(null, "type");
xs.endTag(null, "sms");
}
xs.endTag(null, "message");
//生成xml頭
xs.endDocument();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Apache Cordova開發Android應用程序——番外篇,cordovaandroid
Apache Cordova開發Android應用程序——番外篇,cordovaandroid 很多天之前就安裝了visual studio community 201
Android UI ListView的使用,androidlistview
Android UI ListView的使用,androidlistview一、ListView的理解 1.什麼ListView?
自定義加載loading view動畫組件的使用。,loadingview
自定義加載loading view動畫組件的使用。,loadingview在github上找的一個有點酷炫的loading動畫https://github.com/Fic
android開發中遇到的問題匯總【九】
android開發中遇到的問題匯總【九】 244.http請求的url含有中字符時,需要Uri編碼。Uri.encoder() 245.使用androidstudio時,