public void backup (View view){
try {
//写入外存记得要添加权限
// <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
// <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
File file = new File(Environment.getExternalStorageDirectory(), "back.xml");
FileOutputStream fos = new FileOutputStream(file);
//获取序列化器 用于生成XML文件
XmlSerializer serializer = Xml.newSerializer();
//设置输出流编码格式
serializer.setOutput(fos, "UTF-8");
//xml文件头部:<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
serializer.startDocument("UTF-8", true);//true表示standalone='yes'
//根标签:开始
serializer.startTag(null, "smss");
for(Sms sms:smss){
//对于每一个短信设置根标签
serializer.startTag(null, "sms");
//设置子标签项
//发送者
serializer.startTag(null, "sender");
serializer.text(sms.getSender());
serializer.endTag(null, "sender");
//接收着
serializer.startTag(null, "receiver");
serializer.text(sms.getReceiver());
serializer.endTag(null, "receiver");
//内容
serializer.startTag(null, "body");
serializer.text(sms.getBody());
serializer.endTag(null, "body");
//日期
serializer.startTag(null, "date");
serializer.text(sms.getDate());
serializer.endTag(null, "date");
//每个短信的结束标签
serializer.endTag(null, "sms");
}
//根标签:结束
serializer.endTag(null, "smss");
serializer.endDocument();
fos.close();
Toast.makeText(MainActivity.this, "备份完成", 0).show();
} catch (Exception e) {
e.printStackTrace();
}
}
生成XML——XmlSerializer
最新推荐文章于 2025-09-03 14:55:22 发布
本文介绍了一个简单的Android应用程序备份实现方案,通过序列化短信数据到XML文件,并保存到设备的外部存储中。具体步骤包括获取短信数据、创建XML序列化器、设置输出流编码格式等。
5224

被折叠的 条评论
为什么被折叠?



