Android xml文件的序列化实现代码
更新时间:2014年02月26日 14:35:05 作者:
Android提供了XmlSerializer来实现XML文件的序列化。相比传统方式,更高效安全,需要的朋友可以参考下
传统方式:
复制代码 代码如下:
public void backSms(View view){
//假设我已经获取到了所有的短信
StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sb.append("<smss>");
for(SmsInfo info:smsInfos){
sb.append("<sms>");
sb.append("<address>");
sb.append(info.getAddress());
sb.append("</address>");
sb.append("<type>");
sb.append(info.getType());
sb.append("</type>");
sb.append("<body>");
sb.append(info.getBody());
sb.append("</body>");
sb.append("<date>");
sb.append(info.getBody());
sb.append("</date>");
sb.append("</sms>");
}
sb.append("</smss>");
try{
File file = new File(Environment.getExternalStorageDirectory(),"backup.xml");
FileOutputStream fos = new FileOutputStream(file);
fos.write(sb.toString().getBytes());
Toast.makeText(this, "备份成功", Toast.LENGTH_LONG).show();
}catch(Exception e){
e.printStackTrace();
Toast.makeText(this, "备份失败", Toast.LENGTH_LONG).show();
}
}
采用XmlSerializer实现的方式:
复制代码 代码如下:
public void backSms2(View view){
try{
XmlSerializer serializer = Xml.newSerializer();
File file = new File(Environment.getExternalStorageDirectory(),"backup2.xml");
FileOutputStream os = new FileOutputStream(file);
//初始化序列号器 指定XML数据写入到哪个文件 并且指定文件的编码方式
serializer.setOutput(os,"utf-8");
serializer.startDocument("uft-8", true);
serializer.startTag(null, "smss");
for(SmsInfo info:smsInfos){
serializer.startTag(null, "sms");
serializer.attribute(null, "id", info.getId()+"");
serializer.startTag(null, "body");
serializer.text(info.getBody());
serializer.endTag(null, "body");
serializer.startTag(null, "address");
serializer.text(info.getAddress());
serializer.endTag(null, "address");
serializer.endTag(null, "sms");
}
serializer.endTag(null, "smss");
serializer.endDocument();
}catch(Exception e){
e.printStackTrace();
Toast.makeText(this, "备份失败", 0);
}
}
相关文章
Android下拉刷新控件PullToRefresh实例解析
这篇文章主要为大家详细解析了Android下拉刷新控件PullToRefresh实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2016-09-09AndroidX下使用Activity和Fragment的变化详解
这篇文章主要介绍了AndroidX下使用Activity和Fragment的变化详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-04-04
最新评论