1.读写SD卡,加权限
序列化---写
public class TestCase extends AndroidTestCase {
public void test() {
// writeXmlToLocal();
List<Person> personList = parserXmlFromLocal();
for (Person person : personList) {
Log.i("TestCase", person.toString());
}
}
/**
* 写xml文件到本地
*/
private void writeXmlToLocal() {
List<Person> personList = getPersonList(); //得到数据
// 获得序列化对象
XmlSerializer serializer = Xml.newSerializer();
try {
//SD卡下//persons.xml
File path = new File(Environment.getExternalStorageDirectory(), "persons.xml");
FileOutputStream fos = new FileOutputStream(path);
// 指定序列化对象输出的位置和编码
serializer.setOutput(fos, "utf-8");
serializer.startDocument("utf-8", true); // 写开始 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
serializer.startTag(null, "persons"); // 开始节点<persons>
for (Person person : personList) {
// 开始写人
serializer.startTag(null, "person"); // <person>
serializer.attribute(null, "id", String.valueOf(person.getId()));//写节点属性
// 写名字
serializer.startTag(null, "name"); // <name>
serializer.text(person.getName());
serializer.endTag(null, "name"); // </name>
// 写年龄
serializer.startTag(null, "age"); // <age>
serializer.text(String.valueOf(person.getAge()));
serializer.endTag(null, "age"); // </age>
serializer.endTag(null, "person"); // </person>
}
serializer.endTag(null, "persons"); // 结束节点</persons>
serializer.endDocument(); // serializer.startDocument("utf-8", true)的结束
} catch (Exception e) {
e.printStackTrace();
}
}
//返回数据
private List<Person> getPersonList() {
List<Person> personList = new ArrayList<Person>();
for (int i = 0; i < 30; i++) {
personList.add(new Person(i, "wang" + i, 18 + i));
}
return personList;
}
解析--读