安卓开发之生成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.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文件的更多相关文章
- 获得mysql内容,生成xml文件,另外,为了webservice发送
<xyt> <news id> <url></url> <title></title> </news> </x ...
- Android 生成xml文件及xml的解析
1.生成xml文件的两种方式 (1)采用拼接的方式生成xml(不推荐使用) (2)利用XmlSerializer类生成xml文件 package com.example.lucky.test52xml ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- Java生成XML文件
我们在数据库中的数据可以将其提取出来生成XML文件,方便传输.例如数据库中有Admin这张表: 我们写一个java类表示admin数据: package xmlDom.vo; import java. ...
- Android 使用xml序列化器生成xml文件
在<Android 生成xml文件>一文中使用流的形式写入xml格式文件,但是存在一定的问题,那就是在短信内容中不能出现<>之类的括号,本文使用xml序列化器来解决 xml序列 ...
- C# 生成xml文件
本篇文章旨在.net环境下生成xml文件,以控制台应用程序为例进行说明. 1.在vs中新建控制台应用程序CreateXml 2.CreateXmlFile:主要生成xml的函数 public void ...
- 视频播放实时记录日志并生成XML文件
需求描述: 在JWPlayer视频播放过程中,要求实时记录视频观看者播放.暂停的时间,并记录从暂停到下一次播放时所经过的时间.将所有记录保存为XML文件,以方便数据库的后续使用. 实现过程: 尝试1: ...
- 使用XML序列化器生成XML文件和利用pull解析XML文件
首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message&g ...
- LINQ to XML 从逗号分隔值 (CSV) 文件生成 XML 文件
参考:http://msdn.microsoft.com/zh-cn/library/bb387090.aspx 本示例演示如何使用 语言集成查询 (LINQ) 和 LINQ to XML 从逗号分隔 ...
随机推荐
- python中星号变量的几种特殊用法
python中星号变量的几种特殊用法 不知道大家知不知道在Python中,星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入 ...
- process.env.NODE_ENV
Node 随记 if (process.env.NODE_ENV === 'production') { module.exports = require('./prod.js') } else { ...
- python 内置数据结构 字符串
字符串 一个个字符组成的有序的序列,是字符的集合 使用单引号,双引号,三引号引住的字符序列 字符串是不可变对象 Python3起,字符串就是Unicode类型 字符串定义 初始化 s1 = 'stri ...
- iOS-MBProgressHUD框架使用(转)
MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgressHUD,然后把两个MBProgressHUD.h和MBP ...
- supervieord的使用
用途 守护进程,帮你管理其他进程,让其他进程成为后台进程 监控进程是否死掉,自动重启: 管理进程的启动,停止: 对进程输出的日志进行管理 每个进程使用不同的用户启动,这样可以使进程获得不同用户的权限 ...
- Django学习参考资料
0. HTTP协议简介http://www.cnblogs.com/maple-shaw/articles/9060408.html 1. 路由系统https://www.cnblogs.com/ma ...
- Velocity 数值格式化(NumberTool工具类):保留两位小数和格式化千分位、取整
Velocity 自带的工具类:NumberTool 实现数字格式化:保留两位小数和格式化千分位,以及取整. NumberTool 的 format(String format, Object obj ...
- GxDlms编译
目录 GxDlms编译 title: GxDlms编译 date: 2019/12/5 13:36:37 toc: true --- GxDlms编译 C++版本如果要编译动态库,项目>属性需要 ...
- 冲刺Noip2017模拟赛1 解题报告——五十岚芒果酱
题1 国际象棋(chess) [问题描述] 有N个人要参加国际象棋比赛,该比赛要进行K场对弈.每个人最多参加2场对弈,最少参加0场对弈.每个人都有一个与其他人都不相同的等级(用一个正整数来表示).在对 ...
- Oracle数据库连接工具的使用(二)
一.SQL Plus介绍 1.简介 Oracle的sql plus是与oracle进行交互的客户端工具.在sql plus中,可以运行sql plus命令与sql语句. 我们通常所说的DML.DDL. ...