hola otra vez, jejeje, estoy teniendo unos problemitas en mi aplicacion, funciona de la siguiente manera:
1.- al presionar un boton, envia los datos a un servidor via un php
2.- luego al agregar un nuevo dato se genera un xml
3.- al presionar otro boton se descarga ese archivo xml, reemplazando al que ya existe para asi visualizarlo en un list
el problema es q, funciona perfectamente el envio de datos, pero al presionar el boton q descarga el archivo, no siempre lo hace, no se porq sea esto ya he probado muchas veces y a veces mi aplicacion funciona y a veces no, adjunto mi codigo para ver si me pudieran ayudar a ver algo q yo no veo
aqui tengo mi init con mi loader para mi url request
public function initdb():void{
var lugar_origen:File= File.applicationDirectory.resolvePath("assets/autosfin.db");//funcion para poner nuestra db dentro de donde lo guarda el SO
var lugar_destino:File=File.applicationStorageDirectory.resolvePath("assets/autosfin.db");
// var lugar_origen2:File= File.applicationDirectory.resolvePath("assets/employees.xml");//funcion para poner nuestra db dentro de donde lo guarda el SO
// var lugar_destino2:File=File.applicationStorageDirectory.resolvePath("assets/employees.xml");
var d2:Date = new Date();
fecha.text = d2.fullYear + "-" + int(d2.month + 1) + "-" + d2.date;
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, onLoad);
//concepto.text=File.applicationStorageDirectory.nativePath;
if(!lugar_destino.exists){
lugar_origen.copyTo(lugar_destino);
}
var autosfin:File=lugar_destino;
conecta.open(autosfin);
despues tengo mi onload, donde llamo a mi funcion savelocally
private function onLoad(event:Event):void {
//call the saveLocally function; loader.data has the bytes of the loaded resource
saveLocally(fileName, loader.data);
}
aqui es donde mando los datos via un php
protected function button1_clickHandler(event:MouseEvent):void
{
var inserta_datos : HTTPService = new HTTPService();
inserta_datos.method = "POST";
var parameters : Object = new Object();
parameters ["concepto"] = concepto.text;
parameters ["from"] = fecha.text;
parameters ["monto"] = monto.text;
parameters ["observaciones"] = observaciones.text;
parameters ["recurso"] = recurso.text;
inserta_datos.send(parameters) ;
new AlertMsg2().open(this, false);
boton_sincronizar.enabled=false;
aqui esta mi savelocally, q crea mi archivo o lo sobreescribe
private function saveLocally(fileName:String, data:ByteArray):void {
//create a file under the application storage directory using the filename argument
var file:File = File.applicationStorageDirectory.resolvePath("assets/"+fileName);
if (file.exists)
file.deleteFile(); //delete it if exists
//create a file stream to be able to write the content of the file
var fileStream:FileStream = new FileStream();
//open the file stream and set for Write
fileStream.open(file, FileMode.WRITE);
//writes the bytes
fileStream.writeBytes(data, 0, data.length);
//close the stream
fileStream.close();
//display the path of the saved resources
}
y aqui respondo a mi urlo request con esta funcion q la mando a llamar con un boton
private function saveResource():void {
como mencione antes, a veces si funciona mi save resource y a veces no, pero no tengo idea porq sea esto, espero y me puedan ayudar, porfavo