首先同样和上一篇一样穿件一个Message的bean对象,然后再创建一些虚拟的短信对象,再使用虚拟化器生产xml文件
public class MainActivity extends Activity {
List<Message> smsList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
smsList = new ArrayList<Message>();
for(int i = 0; i <= 9; i++){
Message sms = new Message("序列化器" + i, System.currentTimeMillis() + "", "321" + i + i, "1");
smsList.add(sms);
}
}
public void click(View v){
//1.使用xml序列化器生产xml文件
XmlSerializer xs = Xml.newSerializer();
//2.初始化
File file = new File("cdcard/sms2.xml");
try {
FileOutputStream fos = new FileOutputStream(file);
//encoding:制定用什么编码生成文件
xs.setOutput(fos, "utf-8");
//3.开始生产xml文件
//encoding:指定头节点中的encoding属性值
xs.startDocument("utf-8", true);
xs.startTag(null, "message");
for(Message sms:smsList){
xs.startTag(null, "sms");
xs.startTag(null, "body");
xs.text(sms.getBody());
xs.endTag(null, "body");
xs.startTag(null, "data");
xs.text(sms.getDate());
xs.endTag(null, "data");
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");
xs.endDocument();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="click"
android:text="点击" />
</RelativeLayout>