专栏首页游戏杂谈AIR中的文件系统控件

AIR中的文件系统控件

 写AIR的过程中,可能会用到文件系统的相关控件。比如选择某一目录,浏览文件列表等。

AIR中有三种比较常用的列表类组件 --- List、Tree、DataGrid,它们的效果分别如下图所示:

分别对应:FileSystemList、FileSystemTree、FileSystemDataGrid

1: <?xml version="1.0" encoding="utf-8"?>   2: <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"   3:                         title="....x"   4:                         windowComplete="inited()">   5:        6:     <mx:Script>   7:         <![CDATA[   8:             import mx.events.FileEvent;   9:               10:             private function inited():void  11:             {  12:                 fileCB.directory = File.documentsDirectory;  13:             }  14:               15:             private function changeHandler(evt:FileEvent):void  16:             {  17:                 trace(evt.file.nativePath);  18:             }  19:               20:         ]]>  21:     </mx:Script>  22:       23:     <mx:HBox width="100%">  24:           25:         <mx:FileSystemComboBox id="fileCB" directory="{fileList.directory}" directoryChange="changeHandler(event)" />  26:           27:         <mx:FileSystemList id="fileList" directory="{fileCB.directory}" />  28:           29:     </mx:HBox>  30:       31:     <mx:HBox width="100%" height="100%">  32:           33:         <mx:FileSystemTree id="fileTree" width="300" height="400" directory="{FileSystemTree.COMPUTER}" />  34:           35:         <mx:FileSystemDataGrid id="fileGrid" width="100%" height="100%" directory="{File.desktopDirectory}" />  36:           37:     </mx:HBox>  38:       39:       40:       41: </mx:WindowedApplication>

还有一个对文件操作的常用操作:

1)、浏览文件,打开一个对话框,选择一个或多个文件;

1: private var file:File = new File();   2: private var fileFilter:FileFilter = new FileFilter("Text", "*.txt; *.html; *.xml");   3: private var imgFilter:FileFilter = new FileFilter("图片", "*.jpg; *.png; *.jpeg");   4:     5: private function inited():void   6: {   7:       file.addEventListener(Event.SELECT, onSelectHandler);   8:     file.addEventListener(Event.CANCEL, onCancelHandler);   9:     file.addEventListener(FileListEvent.SELECT_MULTIPLE, onSelectMultipleHandler);  10:       11:       file.browseForOpen("Open File", [fileFilter, imgFilter]);      12:     file.browseForOpenMultiple("Open File", [fileFilter, imgFilter]);      13: }  14:    15: private function onSelectHandler(evt:Event):void  16: {  17:       18: }  19:    20: private function onCancelHandler(evt:Event):void  21: {  22:       23: }  24:    25: private function onSelectMultipleHandler(evt:FileEvent):void  26: {  27:       28: }

2)、保存文件

1: private function inited():void   2: {   3:     file = File.desktopDirectory;   4:     file.browseForSave("另存为");   5:        6:     file.addEventListener(Event.SELECT, onSelectHandler);   7: }   8:     9: private function onSelectHandler(evt:Event):void  10: {  11:     var file:File = evt.target as File;  12:     var stream:FileStream = new FileStream();  13:       14:     stream.open(file, FileMode.WRITE);  15:     stream.writeUTFBytes("Hello AIR");  16:     stream.close();  17: }

3)、其它应用程序的技巧,例如:让应用程序始终“保持在其它窗口的顶部”(alwaysInFront=true)、应用程序在任务栏中,它的右击菜单、顶部的状态栏操作等

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • xml文件转二进制文件的AIR

    游戏开发中,有很多XML可能是很大的,比如一个任务配置文件,可能就接近2M(当然全部文件放在一个XML里面本身就有问题,比较好的做法就是分等级分隔XML),这...

    meteoric
  • webgame开发中的文件加密

    一般的webgame中都会对资源、消息进行加密,这里只是简单记录一下对文件的加密过程。

    meteoric
  • Flex + XML的图片轮显

    逻辑部分与JavaScript有些类似,在解析XML时,单独写了一个as类来处理,btn的外观使用了CSS进行控制,资源全部放在名为assets文件夹目录下,工...

    meteoric
  • 大数据安全市场现状和需求分析

    后web2.0时代,互联网、物联网每天都在生产大量数据,人们对于这些庞大数据资源的价值渴求,使得“大数据”的概念得以问世。如果说“数据”是支撑未来核心技术的基础...

    企鹅号小编
  • 在树莓派上开启samba服务

    前面我们讲过通过ftp或者SFTP可以在windows和树莓派的Linux系统之间传输文件,今天我们讲一下另外一张方法,通过samba服务来实现,通过samba...

    用户1605515
  • C++ Virtual And Pure Virtual Explained

    ---- Virtual Virtual Function是成员函数,其行为在派生类中被覆盖。与非虚函数不同的是,即使没有关于类的实际类型的编译时信息,也会保留...

    BrianLv
  • 数据库监控——mymon 原

    安装和配置(前提是已经安装Open-falcon监控系统): https://github.com/open-falcon/mymon#installatio...

    阿dai学长
  • 龙岗一个月350的出租房,我搬出来了

    好久没写文章了,因为最近的实在是太忙了,看到这一期的征文,不禁让我回想起了当初刚毕业的那个自己,一时之间感慨万千。

    良月柒
  • 一个风格诡异的ABAP学习网站

    Jerry Wang
  • SpringBoot集成tkMybatis插件

    通用 Mapper4 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及Example相关的单表操作。通用 Mapper 是为...

    java乐园

扫码关注云+社区

领取腾讯云代金券