Buenas,
Tengo un problema que por más que piense y busque, no doy con la solución.
Estoy haciendo una app que genera un fichero XML antes de ponerse en pausa. Para ello uso XML.newSerializer() como mostraré a continuación. Tras cerrar la app, miro con un explorador de archivos el fichero y todo está perfecto, cada etiqueta en su sitio, todo cerrado bien, etc. Pero al volver a abrir la app, el fichero se queda casi vacío, sólo con un pobre "<posiciones />". (la app no vuelve a abrir/tocar el fichero después de generarlo)
Código Java:
Ver original//recibe HashMap<String, Coordenadas> c
FileOutputStream fout
= actividad.
openFileOutput(nombreFichero, Activity.
MODE_PRIVATE); XmlSerializer serializer = Xml.newSerializer();
serializer.setOutput(fout, "UTF-8");
serializer.startDocument(null, true);
serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true);
serializer.startTag(null, "raiz");
for(String nombre
: c.
keySet()){ serializer.startTag(null, "coordenadas");
serializer.attribute(null, "nombre", nombre);
serializer.
startTag(null,
"latitud"); serializer.
text(Long.
toString(Double.
doubleToRawLongBits(c.
get(nombre
).
getLatitud()))); serializer.endTag(null, "latitud");
serializer.startTag(null, "longitud");
serializer.
text(Long.
toString(Double.
doubleToRawLongBits(c.
get(nombre
).
getLongitud()))); serializer.endTag(null, "longitud");
serializer.endTag(null, "coordenadas");
}
serializer.endTag(null, "raiz");
serializer.endDocument();
serializer.flush();
Todo esta en try{}...catch(Exception e){ ... Toast.makeText(...e.getMessage()...)...}finally{ fout.close() } y NO salta ninguna excepción.
¿Tiene alguien alguna idea de lo que está pasando y cómo se puede resolver?
Muchas gracias de antemano