Android 生成xml文件
生成XML文件备份短信,其格式为:
- <?xml version="1.0" encoding="UTF-8" standalone="true"?>
<message>
<sms>- <body>第0条短信</body>
- <date>1465041254178</date>
- <address>000</address>
- <type>1</type>
- </sms>
<sms>- <body>第1条短信</body>
- <date>1465041254179</date>
- <address>111</address>
- <type>1</type>
- </sms>
<sms>- <body>第2条短信</body>
- <date>1465041254179</date>
- <address>222</address>
- <type>1</type>
- </sms>
- </message>
建立Sms类
- package com.wuyudong.createxml.domain;
- public class Sms {
- private String body;
- private String date;
- private String type;
- private String address;
- public Sms(String body, String date, String type, String address) {
- super();
- this.body = body;
- this.date = date;
- this.type = type;
- this.address = address;
- }
- public String getBody() {
- return body;
- }
- public void setBody(String body) {
- this.body = body;
- }
- public String getDate() {
- return date;
- }
- public void setDate(String date) {
- this.date = date;
- }
- public String getType() {
- return type;
- }
- public void setType(String type) {
- this.type = type;
- }
- public String getAddress() {
- return address;
- }
- public void setAddress(String address) {
- this.address = address;
- }
- }
整几个虚拟的短信对象,存在list中,备份数据通常都是备份至sd卡
使用StringBuffer拼接字符串,* 把整个xml文件所有节点append到sb对象里
sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
//添加smss的开始节点
sb.append("<smss>");
.......
* 把sb写到输出流中
fos.write(sb.toString().getBytes());
完整代码如下:
- package com.wuyudong.createxml;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.List;
- import com.wuyudong.createxml.domain.Sms;
- import android.os.Bundle;
- import android.os.Environment;
- import android.app.Activity;
- import android.view.Menu;
- import android.view.View;
- public class MainActivity extends Activity {
- List<Sms> message;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // 创建10条虚拟短信
- message = new ArrayList<Sms>();
- for (int i = 0; i < 10; i++) {
- Sms sms = new Sms("第" + i + "条短信", System.currentTimeMillis() + "",
- "1", "" + i + i + i);
- message.add(sms);
- }
- }
- public void click(View v) {
- File file = new File(Environment.getExternalStorageDirectory(),
- "backup.xml");
- try {
- FileOutputStream fos = new FileOutputStream(file);
- StringBuffer sb = new StringBuffer();
- // 添加xml头
- sb.append("<?xml version='1.0' encoding='utf-8' standalone='yes' ?>");
- // 添加根节点
- sb.append("<message>");
- // 每一条短信添加一个sms节点
- for (Sms sms : message) {
- sb.append("<sms>");
- sb.append("<body>");
- sb.append(sms.getBody());
- sb.append("</body>");
- sb.append("<date>");
- sb.append(sms.getDate());
- sb.append("</date>");
- sb.append("<address>");
- sb.append(sms.getAddress());
- sb.append("</address>");
- sb.append("<type>");
- sb.append(sms.getType());
- sb.append("</type>");
- sb.append("</sms>");
- }
- sb.append("</message>");
- fos.write(sb.toString().getBytes());
- fos.close();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
Android 生成xml文件的更多相关文章
- Android 生成xml文件及xml的解析
1.生成xml文件的两种方式 (1)采用拼接的方式生成xml(不推荐使用) (2)利用XmlSerializer类生成xml文件 package com.example.lucky.test52xml ...
- Android 使用xml序列化器生成xml文件
在<Android 生成xml文件>一文中使用流的形式写入xml格式文件,但是存在一定的问题,那就是在短信内容中不能出现<>之类的括号,本文使用xml序列化器来解决 xml序列 ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- Android中XML文件的序列化生成与解析
xml文件是非常常用的,在android中json和xml是非常常用的两种封装数据的形式,从服务器中获取数据也经常是这两种形式的,所以学会生成和解析xml和json是非常有用的,json相对来说是比较 ...
- Android学习记录(1)—Android中XML文件的序列化生成与解析
xml文件是非常常用的,在android中json和xml是非常常用的两种封装数据的形式,从服务器中获取数据也经常是这两种形式的,所以学会生成和解析xml和json是非常有用的,json相对来说是比较 ...
- 使用Pull解析器生成XML文件和读取xml文件
有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...
- Java生成XML文件
我们在数据库中的数据可以将其提取出来生成XML文件,方便传输.例如数据库中有Admin这张表: 我们写一个java类表示admin数据: package xmlDom.vo; import java. ...
- C# 生成xml文件
本篇文章旨在.net环境下生成xml文件,以控制台应用程序为例进行说明. 1.在vs中新建控制台应用程序CreateXml 2.CreateXmlFile:主要生成xml的函数 public void ...
- 视频播放实时记录日志并生成XML文件
需求描述: 在JWPlayer视频播放过程中,要求实时记录视频观看者播放.暂停的时间,并记录从暂停到下一次播放时所经过的时间.将所有记录保存为XML文件,以方便数据库的后续使用. 实现过程: 尝试1: ...
随机推荐
- Lucene查询语法详解
Lucene查询 Lucene查询语法以可读的方式书写,然后使用JavaCC进行词法转换,转换成机器可识别的查询. 下面着重介绍下Lucene支持的查询: Terms词语查询 词语搜索,支持 单词 和 ...
- 七、L2CAP
1. L2CAP 在BR/EDR模式下,在connection procedure成功执行后,两台设备通过一条物理信道(physical channel)连接在一起,同时两者之间建立起了一条 ...
- 30天C#基础巩固-----多态,工厂模式
自己要有自信,相信自己可以找到好的工作.面对校招,企业更加看重自己的基础,这30天就把C#的基础好好的复习,学习下.笔记一定要认真的记录,这样自己复习回顾的时候就有了可以参考的东西了. 一: ...
- 【原创】kafka producer源代码分析
Kafka 0.8.2引入了一个用Java写的producer.下一个版本还会引入一个对等的Java版本的consumer.新的API旨在取代老的使用Scala编写的客户端API,但为了兼容性 ...
- .NET Framework介绍
.NET Framework 是一个集成在 Windows 中的组件,它支持生成和运行下一代应用程序与 XML Web Services. .NET Framework 旨在实现下列目标: 提供一个一 ...
- CSS的Display属性可能的值
none 此元素不会被显示. block 此元素将显示为块级元素,此元素前后会带有换行符. inline 默认.此元素会被显示为内联元素,元素前后没有换行符. inline-block 行内块元素.( ...
- Zookeeper安装,Zookeeper单机模式安装
http://zookeeper.apache.org/releases.html#download 下载解压到(我自己的)解压到 /usr/local 下 把名字改成 zookeeper 进入zoo ...
- 图说hibernate注释--xml里配置参数(一)
****************************************************************************************[来自我另一博文]
- 关于OpenCart的一个小建议
OpenCart是一套老牌的开源自由B2C电商系统,最近watch了其托管在在github上的项目,发现还是很活跃的,每天都有人反馈bug. 初步的看一下,它是支持在后台管理多个店铺的,而且可以同一个 ...
- 基于Typecho CMS框架开发大中型应用
基于Typecho CMS框架开发大中型应用 大中型应用暂且定义为:大于等于3个数据表的应用!汗吧! Typecho原本是一款博客系统,其框架体系有别于市面上一般意义MVC框架,主体代码以自创的Wid ...