Hallo, ich versuche zu schreiben erstellen/aktualisieren für eine XML-Datei, aber wenn ich es versuche, passiert nichts. Ich bekomme E/Surface: getSlotFromBufferLocked: unbekannter Puffer: 0xb4097390, aber nicht, wenn es zusammenhängt.FileOutputStream erstellt kein XML-Dokument
mein Code:
String XMLyPerson = "";
try {
XMLyPerson = createXMLPerson(entries);
} catch (IOException e) {
e.printStackTrace();
}
try {
FileOutputStream fos = openFileOutput("exml.xml", Context.MODE_PRIVATE);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fos);
outputStreamWriter.write(XMLyPerson);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
xml Methode
public static String createXMLPerson(List<Entry> list) throws IllegalArgumentException, IllegalStateException, IOException
{
XmlSerializer xmlSerializer = Xml.newSerializer();
StringWriter stringWriter = new StringWriter();
xmlSerializer.setOutput(stringWriter);
xmlSerializer.startDocument("UTF-8", true);
xmlSerializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
xmlSerializer.startTag(ns, "entries");
for (Entry entry: list) {
xmlSerializer.startTag(ns, "entry");
xmlSerializer.startTag(ns, "title");
xmlSerializer.text(entry.getTitle());
xmlSerializer.endTag(ns, "title");
for (Person p : entry.getVeiwers()) {
xmlSerializer.startTag(ns, "reader");
xmlSerializer.text(p.getName());
xmlSerializer.endTag(ns, "reader");
}
xmlSerializer.endTag(ns, "entry");
}
xmlSerializer.endTag(ns,"entries");
xmlSerializer.endDocument();
return stringWriter.toString();
}
schafft es die Datei? Möglicherweise stürzt Ihr Code ab, bevor er versucht, ihn zu schreiben. Es ist auch ratsam, 'fos.flush()' vor dem Schließen aufzurufen. –
nein. Soweit ich es sagen kann, stürzt es nicht ab und nichts wird in den Versuch gefangen. –