アプリケーションが動作しています。XML ファイルとディレクトリが存在しない場合は、SDCard に作成する必要があります。
このコードを使用して、Assets から XML ファイルを取得します
public Document abrirArchivo()
{
Document internalDom = null;
//Cargo el archivo xml en una variable Document
try
{
AssetManager assManager = context.getAssets();
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
internalDom = dBuilder.parse(assManager.open("gastos.xml"));
}
catch (Exception e) {
e.printStackTrace();
}
return internalDom;
}
そして、このドキュメントを SdCard のファイルに保存します
public void crearArchivo(){
String pathDirectorio=android.os.Environment.getExternalStorageDirectory().toString()+"/AdministradorGastos/";
File directorio= new File(pathDirectorio);
File archivoExiste= new File(path);
directorio.mkdirs();
if(!archivoExiste.exists())
{
Document dom= abrirArchivo();
try
{
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult streamResult = new StreamResult(new File(pathDirectorio+"gastos.xml"));
DOMSource source = new DOMSource(dom);
transformer.transform(source, streamResult);
}
catch (Exception e) {
e.printStackTrace();
}
}
}
問題は、SDCard に空の xml ファイルを取得しているのに、Assets の XML ファイルが次のようになっていることです。
<?xml version="1.0"?>
<gastos>
<gasto>
<descripcion>Default</descripcion>
<monto>0</monto>
<fecha>01/01/1900</fecha>
</gasto>
</gastos>