安卓开发之利用XmlSerializer生成XML文件
- package com.lidaochen.phonecall;
- import android.net.Uri;
- import android.os.Environment;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.util.Log;
- import android.util.Xml;
- import android.view.View;
- import android.widget.Button;
- import android.widget.TabHost;
- import android.widget.ThemedSpinnerAdapter;
- import android.widget.Toast;
- import org.xmlpull.v1.XmlSerializer;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.List;
- public class MainActivity extends AppCompatActivity{
- private List<Sms> smsLists;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- // 初始化我们要备份的数据
- smsLists = new ArrayList<Sms>();
- for (int i = 0; i < 10; i++)
- {
- Sms sms = new Sms();
- sms.setAddres("10000" + i);
- sms.setBody("Hello" + i);
- sms.setDate("500" + i);
- // 把sms对象加入到集合中
- smsLists.add(sms);
- }
- }
- // 按钮点击事件
- public void click(View v)
- {
- try{
- // 1、通过Xml这个工具类去获取XmlSerializer类的实例
- XmlSerializer serializer = Xml.newSerializer();
- // 2、设置XmlSerializer序列化器参数
- File file = new File(Environment.getExternalStorageDirectory().getPath(), "LiDaochen.xml");
- FileOutputStream fos = new FileOutputStream(file);
- serializer.setOutput(fos, "utf-8");
- // 3、写xml文档开头
- serializer.startDocument("utf-8", true);
- // 4、写xml根节点
- serializer.startTag(null, "smss");
- for(Sms sms:smsLists)
- {
- serializer.startTag(null, "sms");
- // address节点
- serializer.startTag(null, "addres");
- serializer.text(sms.getAddres());
- serializer.endTag(null, "addres");
- // body节点
- serializer.startTag(null, "body");
- serializer.text(sms.getBody());
- serializer.endTag(null, "body");
- // date节点
- serializer.startTag(null, "date");
- serializer.text(sms.getDate());
- serializer.endTag(null, "date");
- serializer.endTag(null, "sms");
- }
- // 文档结尾
- serializer.endTag(null, "smss");
- serializer.endDocument();
- // 关闭流
- fos.close();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
- package com.lidaochen.phonecall;
- public class Sms {
- private String addres;
- private String body;
- private String date;
- public String getAddres() {
- return addres;
- }
- public String getBody() {
- return body;
- }
- public String getDate() {
- return date;
- }
- public void setAddres(String addres) {
- this.addres = addres;
- }
- public void setBody(String body) {
- this.body = body;
- }
- public void setDate(String date) {
- this.date = date;
- }
- }
安卓开发之利用XmlSerializer生成XML文件的更多相关文章
- 安卓开发之利用XmlPullParser解析XML文件
package com.lidaochen.phonecall; import android.support.v7.app.AppCompatActivity; import android.os. ...
- Android 使用XmlSerializer生成xml文件
在Android开发中,我们时常要用到xml文件. xml作为一种数据载体,在数据传输中发挥着重要的作用,而且它可读性比较强. 下面给出在Android开发中使用XmlSerializer类生成一个简 ...
- Java利用dom4j生成xml文件、解析XML
package com.fq.fanqi; import java.io.File;import java.io.FileWriter;import java.io.IOException;impor ...
- 使用XML序列化器生成XML文件和利用pull解析XML文件
首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...
- 利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析
首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) ...
- java 编程基础:注解(Annotation Processing Tool)注解处理器 利用注解解读类属性生成XML文件
APT的介绍: APT(Annotation Processing Tool)是一种注解处理工具,它对源代码文件进行检测,并找出源文件所包含的注解信息,然后针对注解信息进行额外的处理. 使用APT工具 ...
- Android 生成xml文件及xml的解析
1.生成xml文件的两种方式 (1)采用拼接的方式生成xml(不推荐使用) (2)利用XmlSerializer类生成xml文件 package com.example.lucky.test52xml ...
- 使用Pull解析器生成XML文件和读取xml文件
有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使 ...
- 【VS开发】利用VS2015的工程文件来复制另外一个工程的配置的使用说明
[VS开发]利用VS2015的工程文件来复制另外一个工程的配置的使用说明 标签:[VS开发] 说明:总是有时候会遇到这样的问题,在一个工程中完成了对某些PKG包的包含,包括头文件和库等都能发现,但是我 ...
随机推荐
- WebService技术规则
1.基于web的系统级接口规范 - 一个普通适用标准 :http+xml - 任何网络通信的操作系统 - 自包含.自描述.模块化 - 发布.定位.通过web调用 2. ...
- 关于Intel处理器架构中AVX2里Gather特性的说明
在Intel Haswell架构里引入了Gather特性.它使得CPU可以使用向量索引存储器编址从存储器取非连续的数据元素.这些gather指令引入了一种新的存储器寻址形式,该形式由一个基地址寄存器( ...
- Java实现ModbusTCP通信
一个项目,需要用Java实现使用ModbusTCP和硬件设备通信 资料 代码下载 本文的代码和仿真软件:蓝奏云下载 官网资料 Modbus官网 Modbus协议 Modbus技术资源 MODBUS T ...
- eNSP V100R002C00B500 Setup模拟CE6800
本人操作系统:Windows7 64 下载需要的安装包: eNSP V100R002C00B500 官网下载地址:点击这里 CE6800 官网下载地址:点击这里 USG6000V ...
- double,float,BigDecimal类型数值的操作
float四舍五入保留两位小数 /** * float四舍五入保留两位小数 * */ public static float formatDecimal(float n) { return (Math ...
- 外带IP 防火墙限制导致 IP不通
案例: 业务报障,一台设备配了20个IP,跳板机测试都通,但从外边访问,发现部分IP通,部分不通. 排雷: 1. 从跳板机测试都通,说明所有IP 本身应该都没问题的,都可以用,2. 从其他设备测试,部 ...
- 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 ...
- npm EPERM: operation not permitted
缓存问题导致 需要删除npmrc文件. 强调:不是nodejs安装目录npm模块下的那个npmrc文件 而是在C:\Users\{账户}\下的.npmrc文件..
- Django模板渲染之自定义inclusion_tag详细使用
inclusion_tag在使用的时候可以帮我们减少很多前端和后端重复的代码 逻辑图: inclusion_tag的作用是主页面以一定的语法给一个参数,调用某个函数,这个函数可以通过主页面给的参数做一 ...
- private关键字 this关键字
基本类型的布尔值boolean定义get方法,名称应该为isMale 当方法的局部变量和类的成员变量重名的时候,根据就近原则,有限使用局部变量, 如果需要访问成员变量 则使用this.name 构造 ...