I'm trying save XML data to an iPad 4 with AIR 3.4 for iOS and really can't tell if this is working or not. No events are being fired apparently. Any help is greatly appreciated.
private function saveData(e:MouseEvent):void {
var name:String = AssetManager.SAVE_ANNOTATIONS_NAME
var file:File = new File()
file = File.applicationStorageDirectory.resolvePath(name + "xml");
var xml:XML = _canvas.getObjectData(FormatType.DEGRAFA);
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF(xml.toString());
fileStream.addEventListener(ProgressEvent.PROGRESS, onFileStream);
fileStream.addEventListener(Event.ACTIVATE, onFileStream);
fileStream.addEventListener(Event.OPEN, onFileStream);
fileStream.addEventListener(Event.DEACTIVATE, onFileStream);
fileStream.addEventListener(IOErrorEvent.IO_ERROR, onFileStream);
fileStream.addEventListener(Event.COMPLETE, onFileStream);
}
protected function onFileStream(event:Event):void
{
trace('filestream event was ' + event)
fileStream.close();
}
I seemed to have fixed it with this:
private function saveFile(event:MouseEvent):void
{
var xml:XML = _canvas.getObjectData(FormatType.DEGRAFA);
trace('xml is ' + xml.toXMLString())
var file:File = File.documentsDirectory.resolvePath("annotations.xml");
var fileStream:FileStream = new FileStream();
fileStream.openAsync(file, FileMode.WRITE);
fileStream.writeUTFBytes(xml.toXMLString());
fileStream.addEventListener(Event.CLOSE, fileClosed);
fileStream.close();
function fileClosed(event:Event):void {
trace("File Saved");
}
}