• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>AIR>文章内容
  • [翻译]AIR TIP1:检测你的网络连接
  • 来源:52ria.com 作者: 2008-04-30 【

翻译自DavidTucker.net

原文在这里

AIR允许你创建在线或离线状态下的应用,比如,你打算创建一个AIR工具来管理你的博客,那么你可能需要随时都可以写文章,而不用理睬网络是在线还是离线。要做到这一点,你的应用就要具备检测网络状态的能力,如果网络处于在线状态,就可以立刻发布你的文章到博客上,如果是离线状态,可以先保存文章的内容(可以使用文件存储或SQLite数据库)。

接下来,你将创建一个简单的AIR应用,这个应用拥有一个窗体,窗体内有三个元件:一个搜索的输入框,一个提交按钮,和一个显示网络状态的图片。如果一个用户在输入框中敲入了一些文字并点击了搜索按钮,这个应用将会打开你的浏览器并自动在Google进行检索,当然,如果你不能连接到互联网,搜索的按钮是被禁用的。

AIR有两个方法可以帮助你检测网络连接状态,URLMonitor [ Flex | Javascript ] 和SocketMonitor [ Flex | Javascript ]。这两个类都继承自ServiceMonitor Class [ Flex | Javascript ]。要检测你的网络状态你只需要遵循以下步骤即可:

1.建立一个你想要监测的URLRequest对象,你可以设置它的模式为“HEAD”来避免网页下载完毕才开始监测状态。
2.建立一个URLMonitor对象并指定到你要监测的URL上去。
3.为URLMonitor添加一个事件监听器来监测StatusEvent.STATUS事件并创建一个函数来接受事件。
4.设置如何开始你的URLMonitor监测。

如果对上面的内容不太明白,也不用担心,在下面的代码中你将看到详细的说明,完整的示例文件在最后的下载文档中。

开始编写示例

在这个示例中,你要创建一个初始化的函数,用来创建你的URLRequest对象和URLMonitor对象。如果你使用Flex,那么这个函数应该绑定到CreationComplete事件上,如果是HTML/JavaScript,你需要把这个函数指定给Body的Onload事件。

Flex

Actionscript:

  1. import air.net.URLMonitor;

  2. import flash.net.navigateToURL;

  3. import flash.net.URLRequest;

  4. // DEFINE The Variable that will hold the URLMonitor

  5. private var monitor:URLMonitor;

  6. private function init():void {

  7. // URLRequest that the Monitor Will Check

  8. var url:URLRequest = new URLRequest(“http://www.davidtucker.net/index.php”);

  9. // Checks Only the Headers - Not the Full Page

  10. url.method = “HEAD”;

  11. // Create the URL Monitor and Pass it the URLRequest

  12. monitor = new URLMonitor(url);

  13. // Set the Interval (in ms) - 3000 = 3 Seconds

  14. monitor.pollInterval = 3000;

  15. // Create the Event Listener that Will Be Fired When Connection Changes

  16. monitor.addEventListener(StatusEvent.STATUS,on_connection);

  17. // Start the URLMonitor

  18. monitor.start();

  19. }

HTML/Javascript

JavaScript:

  1. var monitor;

  2. function onLoad() {

  3. // URLRequest that the Monitor Will Check

  4. var request = new air.URLRequest( “http://www.davidtucker.net/index.php” );

  5. // Checks Only the Headers - Not the Full Page

  6. request.method = “HEAD”;

  7. // Create the URL Monitor and Pass it the URLRequest

  8. monitor = new air.URLMonitor( request );

  9. // Create the Event Listener that Will Be Fired When Connection Changes

  10. monitor.addEventListener( air.StatusEvent.STATUS, doStatus );

  11. // Start the URLMonitor

  12. monitor.start();

  13. }

你可以发现,这两者并没有什么区别,甚至在JavaScript中调用AIR的函数比在Flex中更简单。

注意:如果你要在JavaScript中使用这个函数,必须确认你引入了AIRAliases.js和servicemonitor.swf这两个文件。如果缺少它们,这个函数将无法工作。你的函数可以在AIRAliases.js之外。在缺少servicemonitor.swf的情况下你将不能使用URLMonitor。

Flex Application
Source Code

HTML / Javascript Application
Source Code





上一篇:[翻译]AIR TIP2:全屏应用   下一篇:Adobe AIR 1.0.1 for Windows发布
您的评论
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)