packagecom.itheima.xmlserializer;importjava.io.File;importjava.io.FileOutputStream;importjava.io.OutputStream;importjava.util.ArrayList;importjava.util.List;importorg.xmlpull.v1.XmlSerializer;importandroid.app.Activity;importandroid.os.Bundle;importandroid.os.Environment;importandroid.util.Xml;importandroid.view.View;importcom.itheima.xmlserializer.domain.City;public class MainActivity extendsActivity {
ListcityList;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cityList= new ArrayList();
City city= null;for (int i = 0; i < 5; i++) {
city= new City("城市" + i, 20 + i + "", 100 + i + "");
cityList.add(city);
}
}public voidcreateXmlFile(View v) {//判断当前SD卡是否可用
if(Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {//指定存放xml文件的位置
File file = newFile(Environment.getExternalStorageDirectory(),"info.xml");//获得XML序列化器
XmlSerializer xs =Xml.newSerializer();
OutputStream os= null;try{//OutputStream :指定文件的保存路径//encoding:指定生成的xml文件的编码
os = newFileOutputStream(file);
xs.setOutput(os,"UTF-8");//开始生成文件//设置xml文件第一行<?xml encoding = ? standalone=?>
xs.startDocument("UTF-8", true);//生成根节点开始标签
xs.startTag(null, "weather");for(City city : cityList) {
xs.startTag(null, "city");
xs.startTag(null, "name");//生成文本节点
xs.text(city.getName());
xs.endTag(null, "name");
xs.startTag(null, "temp");//生成文本节点
xs.text(city.getTemp());
xs.endTag(null, "temp");
xs.startTag(null, "pm25");//生成文本节点
xs.text(city.getPm25());
xs.endTag(null, "pm25");
xs.endTag(null, "city");
}//生成根节点结束标签
xs.endTag(null, "weather");
xs.endDocument();
}catch(Exception e) {throw newRuntimeException(e);
}
}
}
}