Android xml文件的序列化实现代码

Android xml文件的序列化实现代码,第1张

概述传统方式:复制代码代码如下:publicvoidbackSms(Viewview){  //假设我已经获取到了所有的短信  StringBuildersb=newStringBuilder();  sb.append(\"<?xmlversion=\\\"1.0\\\"enco

传统方式:

复制代码 代码如下:
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文件的序列化实现代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1141690.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存