源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-10-04 19:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Android xml文件的序列化实现代码
传统方式:
[u]复制代码[/u] 代码如下:
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实现的方式:
[u]复制代码[/u] 代码如下:
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);   }  }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部