
传统方式:
复制代码 代码如下:
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 xml文件的序列化实现代码全部内容,希望文章能够帮你解决Android xml文件的序列化实现代码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)