Android开发之xml文件的序列化
来源:互联网 发布:淘宝网手机网页版 编辑:程序博客网 时间:2024/05/29 16:47
Xml文件的序列化就是把数据从内存保存到文件中,使用xml文件保存就叫:Xml文件序列化;也叫串行化
工程目录结构:
保存到文件的结果: 保存到设备上的位置:
实现代码
package com.example.xmlserializer;import java.io.File;import java.io.FileOutputStream;import java.util.ArrayList;import java.util.List;import org.xmlpull.v1.XmlSerializer;import com.example.xmlserializer.domain.UserInfo;import android.os.Bundle;import android.os.Environment;import android.util.Xml;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;import android.app.Activity;public class MainActivity extends Activity implements OnClickListener {private List<UserInfo> users;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);Button save = (Button) findViewById(R.id.btnSave);save.setOnClickListener(this);users = new ArrayList<UserInfo>();for (int i = 0; i < 5; i++) {users.add(new UserInfo("aaa" + i, i, "男", 1110, i));}}@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.btnSave:SaveXml();break;default:break;}}private void SaveXml() {try {XmlSerializer serialzer = Xml.newSerializer();File file = new File(Environment.getExternalStorageDirectory()+ File.separator + "backup.xml");FileOutputStream fos = new FileOutputStream(file);serialzer.setOutput(fos, "utf-8");serialzer.startDocument("utf-8", true); // 文件开头serialzer.startTag(null, "users"); // xml文件的根标签for (UserInfo user : users) {serialzer.startTag(null, "user");serialzer.attribute(null, "id", user.getId() + "");serialzer.startTag(null, "name");serialzer.text(user.getName());serialzer.endTag(null, "name");serialzer.startTag(null, "age");serialzer.text(user.getAge() + "");serialzer.endTag(null, "age");serialzer.startTag(null, "sex");serialzer.text(user.getSex());serialzer.endTag(null, "sex");serialzer.startTag(null, "brithday");serialzer.text(user.getBrithday() + "");serialzer.endTag(null, "brithday");serialzer.endTag(null, "user");}serialzer.endTag(null, "users");serialzer.endDocument(); // 文件结尾fos.close();Toast.makeText(this, "保存成功", Toast.LENGTH_LONG).show();} catch (Exception e) {// TODO: handle exceptione.printStackTrace();Toast.makeText(this, "保存失败", Toast.LENGTH_LONG).show();}}}
Demo下载
点击打开链接
- Android开发之xml文件的序列化
- android程序开发之sharepreference的数据存储及xml文件的序列化
- Android开发之基础-------XML文件的序列化和解析
- Android学习笔记之—XML文件的序列化
- Android之Xml序列化器生成xml文件
- Android xml文件的序列化
- Android中XML文件的序列化
- Android开发之XML文件的解析
- Android序列化xml文件
- xml文件的序列化
- xml文件的序列化
- xml文件的序列化
- android xml文件的序列化--XmlSerializer简单用法
- Android---40---实现XMl文件的序列化与解析
- Android中XML文件的序列化和解析
- android XML文件解析和序列化
- Android之XML序列化和解析
- Android学习之xml序列化
- Android开发adb环境配置
- ORACLE堆表和索引组织表IOT优缺点
- 取得下个参数宏定义
- Java面向对象(一)
- 微信打飞机之IOS/安卓无敌破解版
- Android开发之xml文件的序列化
- 非线性数据结构——二叉树
- canvas的translate、scale、rotate等方法
- 自旋锁的应用
- cookie学习笔记2
- 电脑族最容易得什么疾病?
- 【第二章】证券交易程序
- 代理模式(接口和子类)
- 如何mount ext4 分区