【问题标题】:Storing/Saving XML in local asset folder in AIR在 AIR 的本地资产文件夹中存储/保存 XML
【发布时间】:2012-01-25 05:01:17
【问题描述】:

AIR 通常似乎将 xml 文件存储在应用程序的安装路径中。 我正在生成一个 xml,我想在 AIR 应用程序的本地资产文件夹中保存/存储一个 xml 文件。

关于这样做的任何想法。

【问题讨论】:

    标签: air flash-builder


    【解决方案1】:

    File 类有一些指向本地目录的静态变量:

    来自文档:

    • File.applicationStorageDirectory — 每个已安装的 AIR 应用程序唯一的存储目录
    • File.applicationDirectory — 安装应用程序的只读目录(以及任何已安装的资产)
    • File.desktopDirectory — 用户的桌面目录
    • File.documentsDirectory — 用户的文档目录
    • File.userDirectory — 用户目录

    创建指向文件的指针

    通常您会希望将此类文件存储在 File.applicationStorageDirectory 中。 所以要创建文件:

    File.applicationStorageDirectory.resolvePath("my-config.xml");
    

    或者,您可以让用户使用File#browseForSave() 选择存储文件的位置,这将显示一个本地“保存”窗口来选择位置。

    编写内容

    以“写入”模式打开文件的 FileStream,并将 XML 字符串写入文件。

    var fs:FileStream = new FileStream();
    fs.open(file, FileMode.WRITE);
    fs.writeUTF(myXmlContent);
    fs.close();
    

    【讨论】:

      【解决方案2】:

      http://www.adobe.com/devnet/air/flex/quickstart/articles/xml_prefs.html

      http://www.thetechlabs.com/xml/how-to-build-a-contact-manager-in-air-using-xml-part-2/

      http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/filesystem/File.html

      var prefsFile:File = File.applicationStorageDirectory;
      prefsFile = prefsFile.resolvePath("preferences.xml");
      stream = new FileStream();
      stream.open(prefsFile, FileMode.WRITE);
      stream.writeUTFBytes(outputStringXML);
      

      或者类似的东西:

      var saveStr:String = xmlToSave.toXMLString();
      var file:File = new File('app-storage:/data.xml');
      var fs:FileStream = new FileStream();
      fs.open(file, FileMode.WRITE);    
      fs.writeUTFBytes(saveStr);
      fs.close();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-04
        • 1970-01-01
        • 2016-05-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多