1. package com.lidaochen.phonecall;
  2.  
  3. import android.net.Uri;
  4. import android.os.Environment;
  5. import android.support.v7.app.AppCompatActivity;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.util.Xml;
  9. import android.view.View;
  10. import android.widget.Button;
  11. import android.widget.TabHost;
  12. import android.widget.ThemedSpinnerAdapter;
  13. import android.widget.Toast;
  14.  
  15. import org.xmlpull.v1.XmlSerializer;
  16.  
  17. import java.io.File;
  18. import java.io.FileOutputStream;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21.  
  22. public class MainActivity extends AppCompatActivity{
  23. private List<Sms> smsLists;
  24. @Override
  25. protected void onCreate(Bundle savedInstanceState) {
  26. super.onCreate(savedInstanceState);
  27. setContentView(R.layout.activity_main);
  28. // 初始化我们要备份的数据
  29. smsLists = new ArrayList<Sms>();
  30. for (int i = 0; i < 10; i++)
  31. {
  32. Sms sms = new Sms();
  33. sms.setAddres("10000" + i);
  34. sms.setBody("Hello" + i);
  35. sms.setDate("500" + i);
  36. // 把sms对象加入到集合中
  37. smsLists.add(sms);
  38. }
  39. }
  40. // 按钮点击事件
  41. public void click(View v)
  42. {
  43. try{
  44. // 1、通过Xml这个工具类去获取XmlSerializer类的实例
  45. XmlSerializer serializer = Xml.newSerializer();
  46. // 2、设置XmlSerializer序列化器参数
  47. File file = new File(Environment.getExternalStorageDirectory().getPath(), "LiDaochen.xml");
  48. FileOutputStream fos = new FileOutputStream(file);
  49. serializer.setOutput(fos, "utf-8");
  50. // 3、写xml文档开头
  51. serializer.startDocument("utf-8", true);
  52. // 4、写xml根节点
  53. serializer.startTag(null, "smss");
  54. for(Sms sms:smsLists)
  55. {
  56. serializer.startTag(null, "sms");
  57. // address节点
  58. serializer.startTag(null, "addres");
  59. serializer.text(sms.getAddres());
  60. serializer.endTag(null, "addres");
  61. // body节点
  62. serializer.startTag(null, "body");
  63. serializer.text(sms.getBody());
  64. serializer.endTag(null, "body");
  65. // date节点
  66. serializer.startTag(null, "date");
  67. serializer.text(sms.getDate());
  68. serializer.endTag(null, "date");
  69. serializer.endTag(null, "sms");
  70. }
  71. // 文档结尾
  72. serializer.endTag(null, "smss");
  73. serializer.endDocument();
  74. // 关闭流
  75. fos.close();
  76. }
  77. catch (Exception e)
  78. {
  79. e.printStackTrace();
  80. }
  81. }
  82. }
  1. package com.lidaochen.phonecall;
  2.  
  3. public class Sms {
  4. private String addres;
  5. private String body;
  6. private String date;
  7.  
  8. public String getAddres() {
  9. return addres;
  10. }
  11.  
  12. public String getBody() {
  13. return body;
  14. }
  15.  
  16. public String getDate() {
  17. return date;
  18. }
  19.  
  20. public void setAddres(String addres) {
  21. this.addres = addres;
  22. }
  23.  
  24. public void setBody(String body) {
  25. this.body = body;
  26. }
  27.  
  28. public void setDate(String date) {
  29. this.date = date;
  30. }
  31. }

安卓开发之利用XmlSerializer生成XML文件的更多相关文章

  1. 安卓开发之利用XmlPullParser解析XML文件

    package com.lidaochen.phonecall; import android.support.v7.app.AppCompatActivity; import android.os. ...

  2. Android 使用XmlSerializer生成xml文件

    在Android开发中,我们时常要用到xml文件. xml作为一种数据载体,在数据传输中发挥着重要的作用,而且它可读性比较强. 下面给出在Android开发中使用XmlSerializer类生成一个简 ...

  3. Java利用dom4j生成xml文件、解析XML

    package com.fq.fanqi; import java.io.File;import java.io.FileWriter;import java.io.IOException;impor ...

  4. 使用XML序列化器生成XML文件和利用pull解析XML文件

    首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...

  5. 利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析

    首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...

  6. java 编程基础:注解(Annotation Processing Tool)注解处理器 利用注解解读类属性生成XML文件

    APT的介绍: APT(Annotation Processing Tool)是一种注解处理工具,它对源代码文件进行检测,并找出源文件所包含的注解信息,然后针对注解信息进行额外的处理. 使用APT工具 ...

  7. Android 生成xml文件及xml的解析

    1.生成xml文件的两种方式 (1)采用拼接的方式生成xml(不推荐使用) (2)利用XmlSerializer类生成xml文件 package com.example.lucky.test52xml ...

  8. 使用Pull解析器生成XML文件和读取xml文件

    有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...

  9. 【VS开发】利用VS2015的工程文件来复制另外一个工程的配置的使用说明

    [VS开发]利用VS2015的工程文件来复制另外一个工程的配置的使用说明 标签:[VS开发] 说明:总是有时候会遇到这样的问题,在一个工程中完成了对某些PKG包的包含,包括头文件和库等都能发现,但是我 ...

随机推荐

  1. WebService技术规则

    1.基于web的系统级接口规范     - 一个普通适用标准 :http+xml     - 任何网络通信的操作系统     - 自包含.自描述.模块化     - 发布.定位.通过web调用  2. ...

  2. 关于Intel处理器架构中AVX2里Gather特性的说明

    在Intel Haswell架构里引入了Gather特性.它使得CPU可以使用向量索引存储器编址从存储器取非连续的数据元素.这些gather指令引入了一种新的存储器寻址形式,该形式由一个基地址寄存器( ...

  3. Java实现ModbusTCP通信

    一个项目,需要用Java实现使用ModbusTCP和硬件设备通信 资料 代码下载 本文的代码和仿真软件:蓝奏云下载 官网资料 Modbus官网 Modbus协议 Modbus技术资源 MODBUS T ...

  4. eNSP V100R002C00B500 Setup模拟CE6800

    本人操作系统:Windows7  64 下载需要的安装包: eNSP V100R002C00B500    官网下载地址:点击这里 CE6800 官网下载地址:点击这里 USG6000V        ...

  5. double,float,BigDecimal类型数值的操作

    float四舍五入保留两位小数 /** * float四舍五入保留两位小数 * */ public static float formatDecimal(float n) { return (Math ...

  6. 外带IP 防火墙限制导致 IP不通

    案例: 业务报障,一台设备配了20个IP,跳板机测试都通,但从外边访问,发现部分IP通,部分不通. 排雷: 1. 从跳板机测试都通,说明所有IP 本身应该都没问题的,都可以用,2. 从其他设备测试,部 ...

  7. Re-ranking Person Re-identification with k-reciprocal Encoding

    Re-ranking Person Re-identification with k-reciprocal Encoding Abstract In this paper, we propose a ...

  8. npm EPERM: operation not permitted

    缓存问题导致 需要删除npmrc文件. 强调:不是nodejs安装目录npm模块下的那个npmrc文件 而是在C:\Users\{账户}\下的.npmrc文件..

  9. Django模板渲染之自定义inclusion_tag详细使用

    inclusion_tag在使用的时候可以帮我们减少很多前端和后端重复的代码 逻辑图: inclusion_tag的作用是主页面以一定的语法给一个参数,调用某个函数,这个函数可以通过主页面给的参数做一 ...

  10. private关键字 this关键字

    基本类型的布尔值boolean定义get方法,名称应该为isMale 当方法的局部变量和类的成员变量重名的时候,根据就近原则,有限使用局部变量, 如果需要访问成员变量  则使用this.name 构造 ...