生成XML——XmlSerializer

    public void backup (View view){
        try {
            //写入外存记得要添加权限
             // <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
             // <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
            File file = new File(Environment.getExternalStorageDirectory(), "back.xml");
            FileOutputStream fos = new FileOutputStream(file);
            //获取序列化器 用于生成XML文件
            XmlSerializer serializer = Xml.newSerializer();
            //设置输出流编码格式
            serializer.setOutput(fos, "UTF-8");

            //xml文件头部:<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
            serializer.startDocument("UTF-8", true);//true表示standalone='yes'

            //根标签:开始
            serializer.startTag(null, "smss");
            for(Sms sms:smss){
                //对于每一个短信设置根标签
                serializer.startTag(null, "sms");
                    //设置子标签项
                    //发送者
                    serializer.startTag(null, "sender");
                    serializer.text(sms.getSender());
                    serializer.endTag(null, "sender");
                    //接收着
                    serializer.startTag(null, "receiver");
                    serializer.text(sms.getReceiver());
                    serializer.endTag(null, "receiver");
                    //内容
                    serializer.startTag(null, "body");
                    serializer.text(sms.getBody());
                    serializer.endTag(null, "body");
                    //日期
                    serializer.startTag(null, "date");
                    serializer.text(sms.getDate());
                    serializer.endTag(null, "date");
                //每个短信的结束标签
                serializer.endTag(null, "sms");
            }
            //根标签:结束
            serializer.endTag(null, "smss");
            serializer.endDocument();
            fos.close();
            Toast.makeText(MainActivity.this, "备份完成", 0).show();
        } catch (Exception e) {

            e.printStackTrace();
        }

    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值