public class Xml extends Activity {
private List<SmsInfo> smsInfos;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_xml);
//模拟短信信息的初始化
SmsInfo smsinfo1=new SmsInfo("110", "你好啊1", ""+System.currentTimeMillis(), 1);
SmsInfo smsinfo2=new SmsInfo("111", "你好啊2", ""+System.currentTimeMillis(), 1);
SmsInfo smsinfo3=new SmsInfo("120", "你好啊3", ""+System.currentTimeMillis(), 2);
smsInfos=new ArrayList<SmsInfo>();
smsInfos.add(smsinfo1);
smsInfos.add(smsinfo2);
smsInfos.add(smsinfo3);
}
//模拟保存
public void click(View view){
try {
XmlSerializer serializer = android.util.Xml.newSerializer();//得到一个新的xml序列化器
File file = new File(getFilesDir(), "sms.xml");
FileOutputStream fos = new FileOutputStream(file);
serializer.setOutput(fos, "utf-8");//文件的编码格式
//第二个参数 :是否是独立的,不是独立的就是依赖于另外一些文件
serializer.startDocument("utf-8", true);//文件里面内容的编码
serializer.startTag(null, "smss");//最外层的根节点
for (SmsInfo smsInfo : smsInfos) {
serializer.startTag(null, "sms");//每一条短信的节点
serializer.startTag(null, "content");
serializer.text(smsInfo.getContent());
serializer.endTag(null, "content");
serializer.startTag(null, "time");
serializer.text(smsInfo.getTime());
serializer.endTag(null, "time");
serializer.startTag(null, "type");
serializer.text(smsInfo.getType()+"");
serializer.endTag(null, "type");
serializer.endTag(null, "sms");
}
serializer.endTag(null, "smss");
serializer.endDocument();
fos.close();//写入流里面,最后关闭掉
} catch (Exception e) {
}
}
}
XML的序列化
最新推荐文章于 2024-09-03 15:36:26 发布