在布局文件中定义两个按钮
在这里就不写出来了
在MainActivity中:
public class MainActivity extends Activity {
ArrayList<StudentBean> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = new ArrayList<StudentBean>();
for (int i = 1; i <= 20; i++) {
Random rd = new Random();
list.add(new StudentBean("" + i, "zhangsan" + i,
rd.nextBoolean() ? "男" : "女"));
}
}
public void xmlSave1(View v) {
// 1.直接写入到文件中并且注意格式的规范
try {
FileOutputStream fos = this.openFileOutput("stu1.xml",
Context.MODE_PRIVATE);
StringBuilder sb = new StringBuilder();
sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sb.append("<students>");
for (int i = 0; i < 20; i++) {
sb.append("<student>");
sb.append("<no>");
sb.append(list.get(i).getNo());
sb.append("</no>");
sb.append("<name>");
sb.append(list.get(i).getName());
sb.append("</name>");
sb.append("<sex>");
sb.append(list.get(i).getSex());
sb.append("</sex>");
sb.append("</student>");
}
sb.append("</students>");
fos.write(sb.toString().getBytes());
fos.close();
Toast.makeText(this, "file saving success", 0).show();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void xmlSave2(View v) {
// 2.通过相应的API写入xml文件
try {
XmlSerializer xs = Xml.newSerializer();
xs.setOutput(this.openFileOutput("stu2.xml", Context.MODE_PRIVATE),
"utf-8");
xs.startDocument("utf-8", true);
xs.startTag(null, "students");
for (int i = 0; i < 20; i++) {
xs.startTag(null, "student");
xs.startTag(null, "no");
xs.text(list.get(i).getNo());
xs.endTag(null, "no");
xs.startTag(null, "name");
xs.text(list.get(i).getName());
xs.endTag(null, "name");
xs.startTag(null, "sex");
xs.text(list.get(i).getSex());
xs.endTag(null, "sex");
xs.endTag(null, "student");
}
xs.endTag(null, "students");
xs.endDocument();
Toast.makeText(this, "file save success", 0).show();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}