zoukankan      html  css  js  c++  java
  • 安卓开发之利用XmlSerializer生成XML文件

     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 }
  • 相关阅读:
    艾伟_转载:C#来创建和读取XML文档 狼人:
    艾伟_转载:一个.NET委托的故事:彼得,老板和宇宙 狼人:
    艾伟_转载:.NET 4.0 Beta2中的BigInteger和Complex类 狼人:
    艾伟_转载:在C#中实现3层架构 狼人:
    艾伟_转载:从MySpace基于.NET平台的六次重构经历,来感受分布式 狼人:
    艾伟_转载:.NET设计模式:单件模式(Singleton Pattern) 狼人:
    艾伟_转载:.NET重写URL浅谈 狼人:
    Windows phone8 基础篇(二) XAML简介
    TCP/IP详解第十八章
    使用JCS时出现config.OptionConverter Could not instantiate class []的错误原因
  • 原文地址:https://www.cnblogs.com/duxie/p/10887362.html
Copyright © 2011-2022 走看看