こんにちは私はxmlファイルの作成/更新を書こうとしていますが、何もしないときは何も起こりません。私はE/Surfaceを取得しています。getSlotFromBufferLocked:未知のバッファ:0xb4097390ですが、関連していないとしません。FileOutputStreamがxmlドキュメントを作成していません
私のコード:あなたのandroid.manifestでファイル書き込みの権限を
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方式
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();
}
それはファイルを作成していますか?コードを書き込もうとするとクラッシュする可能性があります。また、閉じる前に 'fos.flush()'を呼び出すことをお勧めします。 –
番号。私がクラッシュしているとは言えませんが、try catchでキャッチされているものは何もありません。 –