Android xml文件的序列化
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 xml文件的序列化相关推荐
- Android XML文件中设置字体
Android提供三种字体:"Sans","serif"和"monospace". 1.在Android XML文件中设置字体 可以采用an ...
- android XML文件加注释
android XML文件加注释 如题. 注释以 <!-- 开始并以--> 结束, 例如 <!--注释内容-->. 注意 android编程中有的控件(比如按钮)内部不能加注释 ...
- android xml文件操作类,android操作xml
android操作xml封装后的类,包括创建xml和读xml. public class XmlParserUtil { //创建xml文件 public static void createXmlF ...
- Android XML文件使用
一.布局文件:在layout目录下,使用比较广泛: 我们可以为应用定义两套或多套布局,例如:可以新建目录layout_land(代表手机横屏布局),layout_port(代表手机竖屏布局),系统会根 ...
- Android XML文件读写
<?xml version="1.0" encoding="UTF-8"?> <persons> <person id=& ...
- android xml文件中进行上传图片以及获取图片
在某些时候 项目需求中需要实现图片上传和图片获取功能 我需要把图片转换成byte[]封装在xml中 将xml文件加压后上传到.NET WCF服务中 上传之前的步骤: 一.将图片转换为byte[] 1 ...
- android XML文件注释
android的XML文件注释一般采用 <!--注释内容 -->的方式进行,但是有时候却不能进行注释,如 <Button android:id="@+id/button2& ...
- android xml文件放在哪里,android 创建 xml文件
android创建xml文件的方法. 要操作android的外部存储,所以要在AndroidManifest.xml文件中添加权限. 首先要创建一个XmlSerialize对象. 并创建一个文件,并打 ...
- android xml文件用记事本打开文件格式不正常,XML 文件用记事本打开换行与不换行问题...
C# code: public void WriteISFXml(string RefNo,string TransType,string ShipmentType) { ///初始化XML类等操作 ...
最新文章
- 自定义Chrome浏览器
- 什么是信息服务外包?
- opencv查找表值直方图均衡化
- 根据姓名得到名字首字母
- 深度学习论文资源(截至2016年)
- html怎么让动画最后消失了,css3 – 不能停止css动画在最后一个关键帧后消失
- Java写文件导致io过高_161108、Java IO流读写文件的几个注意点
- 统计学习方法十:隐马尔科夫模型
- appium python 抓包_Python学习教程:另辟蹊径,appium抓取app应用数据了解一下
- 设计模式-第七篇之门面模式
- 9008刷机工具_黔隆科技刷机教程OPPOR9S忘记密码免刷机保资料解屏幕锁教程
- u盘读写速度变慢了开始快后面特别慢卡顿解决方法
- html submit修改名称,HTML Input Submit name用法及代码示例
- 复合调味品,是年轻人新的追逐吗?
- ZCC9628单向全波无刷马达驱动芯片替代AM7228
- 用计算机知道对方的年龄,年龄计算器适合你的恋爱对象,什么年龄适合恋
- 如何用vm虚拟机当服务器,vm虚拟机如何做云服务器
- 阿里为何不允许用Executors创建线程池?
- win10-LTSC2019装机必备操作和软件备忘录
- Windows远程映射端口,访问服务器生成的tensorboard本地访问链接地址