用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   请大家多多关注AIR,欢迎大家踊跃投稿
当前位置 :首页>Flex-AIR>AIR资讯>列表

让Adobe AIR 程序离线运行(翻译)

[来源:zhuoqun.net | 作者:Dreamer | 时间:2008-04-04 | 点击:  | 收藏本文  【 】]

            isOnline = false;
            //Get data from local file
            readLocalFile();
         }
        
         private function requestCompleteHandler(event:Event):void{
            isOnline = true;
            roomsXML = XML(requestLoader.data);//Write data locally
            saveDataLocally();
         }
[/Code]

applicationClosingHandler()函数只是为了确保在程序关闭的时候FileStream也会随之关闭。上面的大部分代码想必你已经很熟悉了,这里注意readLocalFile() 和saveDataLocally() 两个函数,这两个函数是用来管理本地文件或数据的,它们的工作流程如下:

如果 isOnline == true
# 在初始数据加载之后调用requestCompleteHandler()
# 数据被保存在roomsXML变量中,由于进行了绑定程序的显示会自动更新。
# 调用saveDataLocally()
# 将roomsXML中的数据保存到FileStream

如果 isOffline == false
# 调用requestErrorHandler()
# 调用readLocalFile()
# 将本地roomsXML文件中的内容保存在roomsXML中

处于在线状态的时候我们只需要刷新本地数据,这样的话只有在isOnline为true的时候onNetworkChange()才需要再次调用loadData()。一旦加载了数据就重复上面“如果isOnline == true”的步骤,将数据保存到本地并重新设置roomsXML的值,然后更新界面显示。

我在显示中多添加了几个数据项,这样就可以看到数据的改变。

程序代码 程序代码

<mx:VBox width="100%" height="100%">
      <mx:Text text="{roomsXML.Room.length()} Rooms Available"/>
      <mx:TextArea id="RoomsList" width="100%" height="100%" text="{roomsXML.toXMLString()}" selectable="false" editable="false"/>
   </mx:VBox>


这个时候,下面所示的XML数据是线上的。图3显示了实用这个XML数据程序运行后的结果。

[Code (data/rooms.xml)]
<?xml version="1.0" encoding="utf-8"?>
<Rooms>
   <Room name="Room 1" />
   <Room name="Room 2" />
   <Room name="Room 3" />
   <Room name="Room 4" />
   <Room name="Room 5" />
   <Room name="Room 6" />
   <Room name="Room 7" />
   <Room name="Room 8" />
   <Room name="Room 9" />
   <Room name="Room 10" />
</Rooms>
[/Code]


图 3. 使用这个XML数据运行程序

现在,我将断开网络连接,关闭程序然后重新运行它。(看图4)


图 4.重新运行程序

OK,没有什么两样对吧?唯一发生改变的是底部所示的网络状态,现在我将关闭程序,然后在更新线上XML数据以后断开网络连接。

下面是新的XML(只是复制了一下Room节点)。

[Code (data/rooms.xml)]
<?xml version="1.0" encoding="utf-8"?>
<Rooms>
  <Room name="Room 1"/>
  <Room name="Room 2"/>
  <Room name="Room 3"/>
  <Room name="Room 4"/>
  <Room name="Room 5"/>
  <Room name="Room 6"/>
  <Room name="Room 7"/>
上一页 1 2 3 4 56 7 8 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:摆脱浏览器限制-AIR系列应用
下一篇:AIR在光盘中的应用
Tags:     翻译 运行 程序 Room 状态 name 数据 private isOnline
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  Flex及AIR分类
  Flex资料   Flex动态
  Flex案例   Flex源码
  AIR资讯
  Flex相关
  什么是Flex   什么是AIR
  寻找Flex工作机会
  发布Flex工作机会
  热门文章
·AIR及Flex3之mp3播放器教程
·Adobe AIR教程范例分享及源文件下载
·让Adobe AIR 程序离线运行(翻译)
·HTML 與JavaScript也能實現Adobe AIR
·AIR热门应用-IM篇图文介绍
·AIR是什么
·摆脱浏览器限制-AIR系列应用
·70 个AIR 程序源码下载
·air-只打开一个window窗体的方法
·AIR的一些实例聚集地
·Earth Browser 3D AIR程序
关于我们 - 版权声明 - 网站地图 - 广告服务 - 联系我们 - 友情链接 - 用户注册
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号