Something like this will create a new XML file with your list saved in XML format:
XmlSerializer serializer = Xml.newSerializer();
StringWriter writer = new StringWriter();
try {
serializer.setOutput(writer);
serializer.startDocument("UTF-8", true);
serializer.startTag("", "messages");
serializer.attribute("", "number", String.valueOf(messages.size()));
for(String text : myList) {
serializer.startTag("", "sms");
serializer.text(text);
serializer.endTag("", "sms");
}
serializer.endTag("", "messages");
serializer.endDocument();
String xml = writer.toString();
} catch (Exception e) {
throw new RuntimeException(e);
}
try {
File root = new File(Environment.getExternalStorageDirectory(), "List");
if(!root.exists()) root.mkdirs();
File file = new File(root, name);
FileWriter writer = new FileWriter(file);
writer.append(xml);
writer.flush();
writer.close();
Toast.makeText(this, "Saved list", Toast.LENGTH_SHORT).show();
} catch(IOException e) {
e.printStackTrace();
}
You will also need write permission, so add this to the manifest file:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
source
share