AS3 / AIR,按下没有对话框的保存按钮生成.txt文件

时间:2017-01-10 08:02:38

标签: android actionscript-3 flash air notepad

这是一个通过Adobe Air在Android设备中部署的Flash应用程序。我试图在记事本.txt文件中保存用户的用户名和分数(boxTwo.text + _clickTxt.text),Android设备中没有任何对话框。按下保存按钮(btnSave)后将生成它。我无法使它发挥作用。谢谢!这是我的代码:

import flash.net.FileReference;
import flash.events.Event;

var so:SharedObject = SharedObject.getLocal("Test");
var f:File=new File("path\to\file.txt")
var str:FileStream=new FileStream();

btnSave.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void
{
    so.data.saveData = currentFrame;
    so.flush();

}

btnSave.addEventListener (MouseEvent.CLICK, saveFile)
function saveFile(evt):void
{
    str.open(f, FileMode.WRITE);
    str.writeUTFBytes(boxTwo.text + _clickTxt.text);
    str.close();
}

1 个答案:

答案 0 :(得分:0)

默认情况下,Adobe Air不允许将文件写入任何目录 您只能获得写入权限:

  • File.documentsDirectory
  • File.applicationStorageDirectory
  • " browseForDirectory()"选择的目录对话框

    fileVariable.browseForDirectory("选择目录");

(每个平台都有特定的其他目录,但通常它们是这3种类型) 所以只需将路径更改为允许的目录

    var string:String = "Text";
    var file:File = File.documentsDirectory.resolvePath("myTxtFile.txt");
    var stream:FileStream = new FileStream();
    stream.open(file, FileMode.WRITE);
    stream.writeUTFBytes(string);
    stream.close();