Android中利用xml文件保存数据信息


#XML文件生成

* xml序列化器


下面以简单的备份短信的代码为例

1.保存短信中字段的SmsBean

public class SmsBean {


public String body;
public long date;
public int type;
public String address;

}


2.部分重要的代码

public class MainActivity extends Activity {


List<Sms> smsList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

smsList = new ArrayList<Sms>();
for (int i = 0; i < 10; i++) {//模拟数据
Sms sms = new Sms("哎呀我去" + i, System.currentTimeMillis(), 1, "44552");
smsList.add(sms);
}
}


public void click(View v){//布局文件中的点击事件,读者自己定义即可

//获取xml序列化器
XmlSerializer xs = Xml.newSerializer();

File file = new File(Environment.getExternalStorageDirectory(), "sms2.xml");
FileOutputStream fos;
try {
fos = new FileOutputStream(file);
//初始化
//xml文件中什么编码生成
xs.setOutput(fos, "utf-8");
//开始生成xml文件
//生成头结点
xs.startDocument("utf-8", true);

//生成开始标签
xs.startTag(null, "smss");

for (Sms sms : smsList) {
xs.startTag(null, "sms");

xs.startTag(null, "body");
xs.text(sms.getBody() + "<body>");
xs.endTag(null, "body");

xs.startTag(null, "type");
xs.text(sms.getType() + "");
xs.endTag(null, "type");

xs.startTag(null, "date");
xs.text(sms.getDate() + "");
xs.endTag(null, "date");

xs.startTag(null, "address");
xs.text(sms.getAddress());
xs.endTag(null, "address");

xs.endTag(null, "sms");
}

//生成结束标签
xs.endTag(null, "smss");

//告知序列化器生成xml结束
xs.endDocument();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}


}



版权声明:本文为qq_25306579原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。