当前位置 :主页>知识堂>AIR教程>列表

[翻译]AIR TIP1:检测你的网络连接

时间:2008-04-29 来源:  作者:   点击:
    核心提示:你打算创建一个AIR工具来管理你的博客,那么你可能需要随时都可以写文章,而不用理睬网络是在线还是离线

翻译自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:全屏应用     下一篇:没有了
版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。
转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。
特别注意:本站所提供的源文件,电子书,第三软件,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。
 评论内容:(最新评论共有 0) 位网友发表了评论不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码: 匿名? 马上注册
 
 
知识堂分类
 
本站所提供的所有素材版权归原作者所有,本站只供网友参考与交流,未经作者同意请勿用于商业用途
服务器带宽提供:零刻数据 本站CDN由海诺互动提供技术支持。 下载带宽支持:重庆万网
京ICP备08051668号