Androidx学习笔记(17)-- 数据存储之XML

前端之家收集整理的这篇文章主要介绍了Androidx学习笔记(17)-- 数据存储之XML前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

使用XML文件备份短信

  • 短信一般需要获取四组数据:号码,内容,时间,类型(发送还是接收)
  • 创建几个虚拟的短信对象,存在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());


代码

JavaBean
   
   
public class Message {private String body; // 内容 date// 时间 address// 对方号码 type// 类型 1是收到 2是发送 getBody()return}void setBody(String)this.body = getDate setDatedate getAddress setAddressaddress getType setTypetype Message,super(); }

操作
// 存放虚拟短信信息
// 备份短信
import javaio.File;.FileNotFoundException.FileOutputStreamutil.ArrayList.List comitheimacreatexmldomain.Message androidos.Bundleapp.Activityview.Menu.View MainActivityextends Activity List<Message> smsList @Overrideprotected onCreate(Bundle savedInstanceStateonCreate(savedInstanceState); setContentViewRlayoutactivity_main//虚拟10条短信 smsList new ArrayList>();for(int i 0<10 i++){ sms ("Hello"+ SystemcurrentTimeMillis """138"i"1"addsms} click(View v){//在内存中把xml备份短信的格式拼接出来 StringBuffer sb StringBuffer sbappend"<?xml version='1.0' encoding='utf-8' standalone='yes' ?>""<messages>"for(Message:"<sms>""<body>"getBody());"</body>""<date>"getDate"</date>""<type>"getType"</type>""<address>"getAddress"</address>""</sms>""</messages>" // 将内容保存起来 File file File"sdcard/sms.xml"try FileOutputStream fos FileOutputStreamfile foswritesbtoString().getBytesclosecatch(Exception e// TODO Auto-generated catch blockprintStackTrace 权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

猜你在找的XML相关文章