package com.example.myxmlmake;

 import java.io.File;
import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Random; import org.xmlpull.v1.XmlSerializer; import com.example.myxmlmake.domain.SmsInfo; import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.util.Xml;
import android.view.Menu;
import android.view.View;
import android.widget.Toast; public class MainActivity extends Activity { private List<SmsInfo> smsInfos;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
smsInfos = new ArrayList<SmsInfo>();
Random random = new Random();
long number = 135000001;
for(int i=0;i<10;i++)
{
smsInfos.add(new SmsInfo(System.currentTimeMillis(),random.nextInt(2)+1,"短信内容"+i, Long.toString(number++)));
}
} public void mybackup1(View view)
{
StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sb.append("<smss>");
for(SmsInfo info : smsInfos)
{
sb.append("<sms>"); sb.append("<address>");
sb.append(info.getAddress());
sb.append("</address>"); sb.append("<type>");
sb.append(info.getType());
sb.append("</type>"); sb.append("<body>");
sb.append(info.getBody());
sb.append("</body>"); sb.append("<date>");
sb.append(info.getDate());
sb.append("</date>"); sb.append("</sms>");
}
sb.append("</smss>");
try{
File file = new File(Environment.getExternalStorageDirectory(),"myback1.xml");
FileOutputStream fos = new FileOutputStream(file);
fos.write(sb.toString().getBytes());
fos.close();
Toast.makeText(this, "生成成功!", 0).show();
}catch(Exception e){
e.printStackTrace();
Toast.makeText(this, "生成失败!", 0).show();
} } public void mybackup2(View view)
{
try
{
XmlSerializer serializer = Xml.newSerializer();
File file = new File(Environment.getExternalStorageDirectory(),"myback2.xml");
FileOutputStream os = new FileOutputStream(file);
serializer.setOutput(os,"utf-8");
serializer.startDocument("utf-8", true);
serializer.startTag(null, "smss"); for(SmsInfo info : smsInfos)
{
serializer.startTag(null, "sms"); serializer.startTag(null, "body");
serializer.text(info.getBody());
serializer.endTag(null, "body"); serializer.startTag(null, "address");
serializer.text(info.getAddress());
serializer.endTag(null, "address"); serializer.startTag(null, "type");
serializer.text(info.getType() + "");
serializer.endTag(null, "type"); serializer.startTag(null, "date");
serializer.text(info.getDate() + "");
serializer.endTag(null, "date"); serializer.endTag(null, "sms");
} serializer.endTag(null, "smss");
serializer.endDocument();
os.close();
Toast.makeText(this, "生成成功!", 0).show();
}catch(Exception e){
e.printStackTrace();
Toast.makeText(this, "生成失败!", 0).show();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
} }

采用xml的方式保存数据的更多相关文章

  1. Redis学习——Redis持久化之AOF备份方式保存数据

    新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis ...

  2. 数据在内存中的存储方式( Big Endian和Little Endian的区别 )(x86系列则采用little endian方式存储数据)

    https://www.cnblogs.com/renyuan/archive/2013/05/26/3099766.html 1.故事的起源 “endian”这个词出自<格列佛游记>.小 ...

  3. 微信Accesstoken通过xml文件方式保存

    //获取accessToken public static AccessToken GetAccessToken() { string AppID = JobBase.GetConfParamValu ...

  4. Redis学习——Redis持久化之RDB备份方式保存数据

    从这一个介绍里面知道,redis比memcache作为缓存数据库强大的地方,一个是支持的数据类型比较多,另一个就是redis持久化功能. 下面就介绍Redis的持久化之RDB! 一:什么是redis的 ...

  5. 【转】以XML文件方式保存用户数据——2013-08-25 22

    正在做项目中有很多游戏数据要保存,常见的玩家数据这些比较简单的可以用CCUserDefault.它是cocos2d-x用来存取基本数据类型用的.保存为XML文件格式. 主要方法:(和java的map很 ...

  6. 采用DWR、maven保存数据到数据库

    一.原理: Ajax是时下比较流行的一种web界面设计新思路,其核心思想是从浏览器获取XMLHttp对象与服务器端进行交互. DWR(Direct Web Remoting)就是实现了这种Ajax技术 ...

  7. [android] 采用post的方式提交数据

    GET:内部实现是组拼Url的方式,http协议规定最大长度4kb,ie浏览器限制1kb POST和GET的区别比较了一下,多了几条信息 Content-Type:application/x-www- ...

  8. dom4j解析xml文档&保存数据的乱码问题

    package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...

  9. 采用post的方式提交数据

    1)说明:

随机推荐

  1. phantompy — phantompy 0.10 documentation

    phantompy - phantompy 0.10 documentation     phantompy¶     Release v0.10.     phantompy is a BSD Li ...

  2. Color the ball(树状数组+线段树+二分)

    Color the ball Time Limit : 9000/3000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Tota ...

  3. 编译和安装shibboleth-sp遇到的问题

    In file included from mod_shib_20.cpp:68: mod_shib.cpp:118: warning: deprecated conversion from stri ...

  4. 赵雅智:service_startService生命周期

    案例演示 布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xm ...

  5. windows上运行npm Error: ENOENT, stat 'C:\Users\

    node 中 npm报错 Error: ENOENT, stat C:\Users\Administrator\AppData\Roaming\npm 报错原因可能是修改了node的默认安装路径.于是 ...

  6. BZOJ 1800: [Ahoi2009]fly 飞行棋( 枚举 )

    O(N2)算出有x条直径然后答案就是x(x-1)/2...这个数据范围是闹哪样! ----------------------------------------------------------- ...

  7. RPC框架——简单高效hessian的使用方式

    RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果.这个请求包括一个参数集和一个文本集,通常形成“cl ...

  8. Centon6.5虚拟机桥接设置

    参考资料:http://blog.csdn.net/iamfafa/article/details/6209009 安装虚拟机的时候 就直接选择桥接,可以直接 使用 查看此状态下的配置如下 : 虚拟环 ...

  9. 转: requirejs压缩打包r.js使用示例 2 (~~很详细的教程)

    这一篇来认识下打包工具的paths参数,在入门一中 就介绍了require.config方法的paths参数.用来配置jquery模块的文件名(jQuery作为AMD模块时id为“jquery”, 但 ...

  10. Qt中的对象类型转换(Qstring 转换char*有三种方法)

    char * 与 const char *的转换 char *ch1="hello11"; const char *ch2="hello22"; ch2 = c ...