so easy! so .....
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
permissionList.clear();
for (int i = 0; i < permissions.length; i++) {
if (ActivityCompat.checkSelfPermission(this, permissions[i]) != PackageManager.PERMISSION_GRANTED) {
permissionList.add(permissions[i]);
}
}
if (!permissionList.isEmpty()) {
ActivityCompat.requestPermissions(this, permissionList.toArray(new String[permissionList.size()]), 1);
}
}
}
public void onClickCreateXMLButton(View view) {
ArrayList<Person> personsList = new ArrayList<Person>();
for (int i = 0; i < 10; i++) {
personsList.add(new Person("antier", i, 1342093229, "shenzhen", "male"));
}
File file = new File(Environment.getExternalStorageDirectory(), "demo.xml");
try {
FileOutputStream fileOutputStream = new FileOutputStream(file);
XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(fileOutputStream, "utf-8");
serializer.startDocument("utf-8", true);
serializer.startTag(null, "persons");
for (Person person : personsList) {
serializer.startTag(null, "person");
serializer.startTag(null, "name");
serializer.attribute(null, "id", person.getAge() + "");//属性测试而已
serializer.text(person.getName());
serializer.endTag(null, "name");
serializer.startTag(null, "age");
serializer.text(person.getAge() + "");
serializer.endTag(null, "age");
serializer.startTag(null, "phoneNum");
serializer.text(person.getPhoneNum() + "");
serializer.endTag(null, "phoneNum");
serializer.startTag(null, "address");
serializer.text(person.getAddress());
serializer.endTag(null, "address");
serializer.startTag(null, "sex");
serializer.text(person.getSex());
serializer.endTag(null, "sex");
serializer.endTag(null, "person");
}
serializer.endTag(null, "persons");
serializer.endDocument();
} catch (IOException e) {
e.printStackTrace();
}
}
public void onClickParserXMLButton(View view) {
try {
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
FileInputStream fileInputStream = new FileInputStream(Environment.getExternalStorageDirectory().getPath() + File.separator + "demo.xml");
xpp.setInput(fileInputStream, "utf-8");
int eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if (eventType == XmlPullParser.START_DOCUMENT) {
System.out.println("Start document");
} else if (eventType == XmlPullParser.START_TAG) {
System.out.println("Start tag " + xpp.getName());
} else if (eventType == XmlPullParser.END_TAG) {
System.out.println("End tag " + xpp.getName());
} else if (eventType == XmlPullParser.TEXT) {
System.out.println("Text " + xpp.getText());
}
eventType = xpp.next();
}
System.out.println("End document");
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}