Androidxml文件的序列化实现代码
2023-06-13 09:15:18 时间
传统方式:
publicvoidbackSms(Viewview){
//假设我已经获取到了所有的短信
StringBuildersb=newStringBuilder();
sb.append("<?xmlversion=\"1.0\"encoding=\"utf-8\"?>");
sb.append("<smss>");
for(SmsInfoinfo: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.getBody());
sb.append("</date>");
sb.append("</sms>");
}
sb.append("</smss>");
try{
Filefile=newFile(Environment.getExternalStorageDirectory(),"backup.xml");
FileOutputStreamfos=newFileOutputStream(file);
fos.write(sb.toString().getBytes());
Toast.makeText(this,"备份成功",Toast.LENGTH_LONG).show();
}catch(Exceptione){
e.printStackTrace();
Toast.makeText(this,"备份失败",Toast.LENGTH_LONG).show();
}
}
采用XmlSerializer实现的方式:
publicvoidbackSms2(Viewview){
try{
XmlSerializerserializer= Xml.newSerializer();
Filefile=newFile(Environment.getExternalStorageDirectory(),"backup2.xml");
FileOutputStreamos=newFileOutputStream(file);
//初始化序列号器指定XML数据写入到哪个文件并且指定文件的编码方式
serializer.setOutput(os,"utf-8");
serializer.startDocument("uft-8",true);
serializer.startTag(null,"smss");
for(SmsInfoinfo:smsInfos){
serializer.startTag(null,"sms");
serializer.attribute(null,"id",info.getId()+"");
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.endTag(null,"sms");
}
serializer.endTag(null,"smss");
serializer.endDocument();
}catch(Exceptione){
e.printStackTrace();
Toast.makeText(this,"备份失败",0);
}
}
相关文章
- 用腾讯云 AI 录音文件识别,实现短视频字幕批量处理,1行代码搞定语音转文字
- AndroidStudio 自定义代码模板实现在xml和java文件中添加作者信息
- 【Android 安装包优化】Tint 着色器 ( 简介 | 布局文件中的 Tint 着色器基本用法 | 代码中使用 Tint 着色器添加颜色效果 )
- go fmt命令——格式化代码文件
- MQ发送文件到队列的Java代码详解编程语言
- java 使用流下载文件代码详解编程语言
- swfupload多文件上传实现代码
- php中通过Ajax如何实现异步文件上传的代码实例
- php中将数组存到文件里的实现代码
- 用python实现批量重命名文件的代码
- ASP.NET文件断点续传实现代码
- PHP中设置时区,记录日志文件的实现代码
- Android中使用pull解析器操作xml文件的解决办法
- 将文件上传、下载(以二进制流保存到数据库)实现代码
- php删除目录下N分钟前创建的所有文件的实现代码
- 异步动态加载js与css文件的js代码
- asp.net读取磁盘文件、删除实例代码
- php强制下载文件实现代码
- javadom4j解析xml文件代码实例分享
- Java文件解压缩实现代码
- android实现蓝牙文件发送的实例代码,支持多种机型
- ruby实现的文件自删除代码分享
- 将图片文件嵌入到wxpython代码中的实现方法