`

[转] [Flash/Flex] 在Flex4.5中检测网络连接类型

    博客分类:
  • FLEX
阅读更多
http://bbs.9ria.com/viewthread.php?tid=80613&extra=page%3D1%26amp%3Borderby%3Ddateline%26amp%3Bfilter%3D2592000


正如您可能知道的那样,Flex4.5是Flex的下一个版本,它对移动开发进行了优化。这意味着您可以在Flex框架下创建丰富的互联网应用,并将它们部署到移动的Android设备上,黑莓平板电脑上(在不久的将来还会部署到iOS上)。

移动RIAs的一个显著特点就是你可以将你的应用跟采用不同技术的服务器链接,如:PHP,Java和ColdFusion,.NET,....,事实上它跟你的桌面AIR应用是一样的。 你甚至可以通过使用DataService组件来实现RTMP通道上的实时数据链接。 试想想,实时股票更新,视频流,多设备间的协同工作...天空真的是无限的。不是这样吗?

我认为这一切听起来很不错,但在移动设备上工作时,人们往往忘记了一个重要的事情,那就是如果你不是在使用WiFi链接,你与服务器之间的数据链接会变得非常昂贵。然而,在Flex 4.5有一种方法来实际检查您是工作在移动数据链接(data contract)还是工作在WiFi连接上。

在应用程序中,您可以访问所有的设备接口,检查它们是否处于活动状态 。你唯一需要知道的是如何寻找某个接口。在下面的代码中,你可以看到我是如何检查“WiFi”和“mobile”接口的。在我找到的基础上,我只检查它们是否处于活动状态。请记住,有些人可能只通过移动的数据链接,但没有注册的话,那么仅找到“mobile”还是不够的。
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
                xmlns:s="library://ns.adobe.com/flex/spark" 
                title="Connection Test"
                creationComplete="initView()">

        <fx:Script>
                <![CDATA[
                        private function initView():void {
                                var interfaces:Vector.<NetworkInterface> = NetworkInfo.networkInfo.findInterfaces();

                                for(var i:uint = 0; i < interfaces.length; i++) {
                                        if(interfaces[i].name.toLowerCase() == "wifi" && interfaces[i].active) {
                                                lbl.text = "WiFi connection enabled";
                                                break;
                                        } else if(interfaces[i].name.toLowerCase() == "mobile" && interfaces[i].active) {
                                                lbl.text = "Mobile data connection enabled";
                                                break;
                                        }
                                }
                        }

                ]]>
        </fx:Script>

        <s:Label id="lbl" horizontalCenter="0" verticalCenter="0"/>
</s:View>


在这个例子中,我只是设置一个文本属性的标签,但你也可以在实际应用中使用它,比如:确定你的服务器数据的更新率。

在创建这样的应用中,有件事你不能忘记: 你必须在<applicationName>-app.xml文件中,在android这段设置适当的权限。 这部分应包含设置ACCESS_NETWORK_STATE和ACCESS_WIFI_STATE的权限,以便应用程序能正常工作。如果不设置,你将会从findInterfaces方法的返回中得到一个空的向量。
<android>
    <manifestAdditions><![CDATA[
        <manifest>
                <!-- See the Adobe AIR documentation for more information about setting Google Android permissions -->
                <uses-permission android:name="android.permission.INTERNET"/>
                <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
                <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
        </manifest>
]]></manifestAdditions>
  </android>

分享到:
评论

相关推荐

    flex4.5d sdk哦

    尽管描述中提到“现在比较难找了”,但根据提供的链接(http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.5/flex_sdk_4.5.0.20967.zip),表明Flex 4.5 SDK仍然可以从Adobe官方服务器下载。然而,需要注意的...

    FSH.rar_flex_flex hibernate_flex4_flex4.5_spring3 flex4.5

    在Flex 4.5中,开发者可以利用Spark组件模型创建更具视觉吸引力的UI,同时受益于ActionScript 3.0的强大编程能力。 Spring 3是Java企业级应用开发的核心框架,提供了一整套服务,包括依赖注入、AOP(面向切面编程)...

    flex4.5中文文档

    通过上述知识点的总结,读者能够全面了解如何使用Adobe Flex 4.5和Flash Builder高效地开发移动应用,特别是在iPhone和Android平台上。无论是初学者还是有经验的开发者,都能够从中获得实用的指导和支持。

    Introducing Adobe Flex 4.5 SDK

    在本文中,我们将深入探讨Flex 4.5 SDK的关键特性和使用方法。 1. **Flex 4.5的核心特性** - **Spark组件架构**:Flex 4.5引入了全新的Spark组件集,与之前的 Halo 组件相比,Spark组件提供了更强大的自定义样式和...

    Flex 4.5 API

    在Flex 4.5中,有许多关键的改进和新特性,包括Spark组件模型、Skinning和Styling的增强,以及数据服务的优化。 1. **Spark组件模型**:Spark组件模型是Flex 4.5的核心,它与以前的 Halo 组件模型相比,提供了更...

    Flex SDK 4.5增强补丁

    用户自行下载Flex SDK 4.5 文件列表: asc.jar 需要替换在flex_sdk/lib目录下的同名文件 功能特色: 1、双引号内的支持多行字符串。 2、双引号内的字符串,支持 $变量名 转义为对应的变量值。 3、增加内联函数,...

    flex-sdk-4.5.1.21328A.zip

    在Flex开发中,Ant常被用来编译、测试和打包Flex项目,大大提高了开发效率。 至于许可证信息,"license-adobesdk.htm"和"license-mpl.htm"分别涉及Adobe SDK的许可证协议和Mozilla Public License(MPL)。Adobe ...

    flash build 4.5 (flex4.5) 开发中文文档(flex4.5_help 中文翻译版)

    ### Flash Build 4.5 (Flex 4.5) 关键知识点详解 #### 一、Flash Builder 4.5 概览 **1.1 Flash Builder 的定位与用途** - **定位**: Adobe Flash Builder 4.5 是一款专门用于开发跨平台富互联网应用(RIA)的集成...

    Flex4.5+Myeclipse8.5安装

    - 在安装过程中,注意保持网络连接稳定。 - 确保操作系统满足Flex 4.5与MyEclipse 8.5的最低配置要求。 - 由于软件版本更新较快,建议定期关注官方发布的最新版本。 通过以上步骤,可以顺利完成Flex 4.5与MyEclipse...

    flex4.5 权威指南(含源码)英文版

    在Flex 4.5中,ActionScript的使用更加规范和高效,与MXML(标记语言)相结合,可以方便地创建用户界面。 3. **Spark组件**:Spark组件是Flex 4.5的一大亮点,它们具有更好的可定制性和性能,比MXML组件更灵活。...

    flex4.5 学习资料

    1. **Flex 4.5概述**:Flex 4.5是Flex框架的一个重要版本,它在Flex 4的基础上进行了许多改进和优化,增强了性能和可扩展性。它引入了Spark组件模型,与以前的 Halo组件模型相比,提供了更现代、更可定制的用户界面...

    Flex sdk 4.5.0

    &gt; [http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.5/flex_sdk_4.5.0.20967.zip](http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.5/flex_sdk_4.5.0.20967.zip) 该版本适用于多种操作系统,包括 ...

    Myeclipse8.5+flex4.5+Blazeds+SSH环境搭建

    8. **FlashBuilder 4.5**:FlashBuilder(之前称为 Flex Builder)是 Adobe 的集成开发环境,专门用于开发 Flex 和 AIR 应用,提供图形化界面和代码编辑器,方便开发者构建 Flex 项目。 9. **配置 Blazeds**:...

    flex4.5注册码

    在描述中提到的“flex4.5注册码”,通常是指激活Flex Builder 4.5 IDE所需的许可证密钥。Flex Builder是一款基于Eclipse的集成开发环境(IDE),它为Flex开发者提供了代码编辑、调试和构建工具。在安装Flex Builder ...

    flex4.5从浅入深第一、二章清晰版

    本书《flex4.5从浅入深》旨在帮助开发者深入理解Flex 4.5的各个方面,从基础知识到高级特性,逐步提升开发技能。标题表明本书分为两大部分,第一章节包含16节内容,第二章节则有5节,都提供了清晰易读的版本。 在...

    Flex4.5 Moblie Hello

    Flex4.5 Mobile Hello 是一个基于Adobe Flex 4.5框架开发的移动应用程序示例,主要针对移动设备,如智能手机和平板电脑。Flex是ActionScript 3.0的一个开源框架,用于构建富互联网应用程序(RIA)和跨平台的桌面及...

    flex 4.0/4.5 贪食蛇游戏源码

    在这个Flex 4.0/4.5版本的贪食蛇游戏中,开发者可能使用了Flash Player作为运行环境,因为Flex编译的SWF文件可以在Flash Player中执行。Flash Player提供了丰富的图形渲染和动画支持,非常适合创建此类游戏。 游戏...

    使用Flex4.5开发Android应用程序

    在本文中,我们将深入探讨如何使用Adobe Flex 4.5框架来开发针对Android操作系统的应用程序。Flex是一款强大的、基于ActionScript的开源开发工具,它允许开发者创建富互联网应用(RIA)以及跨平台的移动应用。Flex ...

    Flex SDK 4.5 Part 5

    本部分我们将深入探讨Flex SDK 4.5在Webgame开发中的应用。 1. **Flex SDK概述**: Flex SDK 4.5是Flex SDK系列的一个重要版本,它包含了编译Flex应用程序所需的组件、库和工具。这个版本引入了全新的Spark组件...

    MyEclipse8.5 集成 Flex4.5

    5. **验证集成**:重新启动MyEclipse后,检查是否能在菜单栏或工具栏中看到Flex相关的选项,表明FlashBuilder 4.5已经成功集成到MyEclipse 8.5中。 通过以上步骤,开发者就可以在MyEclipse 8.5环境中创建、编辑和...

Global site tag (gtag.js) - Google Analytics