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.view.View;
import android.widget.Button;
import android.widget.TabHost;
import android.widget.ThemedSpinnerAdapter;
import android.widget.Toast; import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Map; 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)
{
// 创建sb对象
StringBuffer sb = new StringBuffer();
// 开始拼接XML文件
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sb.append("<Sms>");
// 开始组拼sms节点
for (Sms sms:smsLists )
{
sb.append("<sms>"); sb.append("<Addres>");
sb.append(sms.getAddres());
sb.append("</Addres>"); sb.append("<body>");
sb.append(sms.getBody());
sb.append("</body>"); sb.append("<date>");
sb.append(sms.getDate());
sb.append("</date>"); sb.append("</sms>");
}
sb.append("</Sms>");
// 保存数据到SD卡
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()))
{
try{
// 创建FILE类指定我们要保存的位置
File file = new File(Environment.getExternalStorageDirectory().getPath(), "HelloWorld.xml");
FileOutputStream fos = new FileOutputStream(file);
fos.write(sb.toString().getBytes());
fos.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
else
{
Toast.makeText(MainActivity.this, "SD卡不可用!", Toast.LENGTH_SHORT).show();
}
}
}
 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;
}
}

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

  1. 获得mysql内容,生成xml文件,另外,为了webservice发送

    <xyt> <news id> <url></url> <title></title> </news> </x ...

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

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

  3. Android 解析XML文件和生成XML文件

    解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...

  4. Java生成XML文件

    我们在数据库中的数据可以将其提取出来生成XML文件,方便传输.例如数据库中有Admin这张表: 我们写一个java类表示admin数据: package xmlDom.vo; import java. ...

  5. Android 使用xml序列化器生成xml文件

    在<Android 生成xml文件>一文中使用流的形式写入xml格式文件,但是存在一定的问题,那就是在短信内容中不能出现<>之类的括号,本文使用xml序列化器来解决 xml序列 ...

  6. C# 生成xml文件

    本篇文章旨在.net环境下生成xml文件,以控制台应用程序为例进行说明. 1.在vs中新建控制台应用程序CreateXml 2.CreateXmlFile:主要生成xml的函数 public void ...

  7. 视频播放实时记录日志并生成XML文件

    需求描述: 在JWPlayer视频播放过程中,要求实时记录视频观看者播放.暂停的时间,并记录从暂停到下一次播放时所经过的时间.将所有记录保存为XML文件,以方便数据库的后续使用. 实现过程: 尝试1: ...

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

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

  9. LINQ to XML 从逗号分隔值 (CSV) 文件生成 XML 文件

    参考:http://msdn.microsoft.com/zh-cn/library/bb387090.aspx 本示例演示如何使用 语言集成查询 (LINQ) 和 LINQ to XML 从逗号分隔 ...

随机推荐

  1. smarty 模板几个例子(变量调节器)

    一.assign和display方法的使用以及几个变量调节器 header("content-type:text/html;charset=utf-8");//加载Smarty引擎 ...

  2. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_14-页面静态化-数据模型-远程请求接口

    okhttp的官方文档: https://square.github.io/okhttp/ github的地址 https://github.com/square/okhttp/ 如何远程请求轮播图的 ...

  3. Qt编写数据可视化大屏界面电子看板9-曲线效果

    一.前言 为了编写数据可视化大屏界面电子看板系统,为了能够兼容Qt4和嵌入式linux系统,尤其是那种主频很低的,但是老板又需要在这种硬件上(比如树莓派.香橙派.全志H3.imx6)展示这么华丽的界面 ...

  4. Zabbix 3.4.3 使用阿里云短信服务进行报警

    目录 一.阿里云短信服务 1.1.首先开通阿里云短信服务 1.2 创建签名 1.3 创建短信模板 1.4 创建发送脚本 二.Zabbix Web 配置 2.1 增加 Media types 2.2 给 ...

  5. 【Python】机器学习之单变量线性回归 利用批量梯度下降找到合适的参数值

    [Python]机器学习之单变量线性回归 利用批量梯度下降找到合适的参数值 本题目来自吴恩达机器学习视频. 题目: 你是一个餐厅的老板,你想在其他城市开分店,所以你得到了一些数据(数据在本文最下方), ...

  6. 【DSP开发】DSP能用VS2010生成的链接库文件吗?

    [DSP开发]DSP能用VS2010生成的链接库文件吗? 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:可能这个问题让行家看上去就会莞尔一笑,但是很多 ...

  7. JS节流和防抖的区分和实现详解

    参考链接:http://caibaojian.com/throttle-debounce.html

  8. 《剑指offer》查找二维数组内元素 c++

    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序. 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. cl ...

  9. 【Funny Things】002——鞋的颜色

    网上的那张鞋子的图片到底是什么颜色的?灰绿色还是粉色? 1. 先截取图片中鞋的那块的图片,获取大小 2. 带入大小分别计算R,G,B平均值 3. 通过计算所得的数据画图可得结果 from PIL im ...

  10. java源码--ArrayList

    1.1.ArrayList概述 1)ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的List类. 2)该类封装了一个动态再分配的Object[]数组,每一个类对象都有一个capac ...