分类“AIR”的存档

发现个好东西Flex 3 Posters

电介质 发布于 2009年12月28日 星期一

As3,Flex3的类图Poster,来源Flex 3 Posters

转载如下:

Poster 1 :  13MB

Actionscript 3 class diagram

Poster 2 :  17MB

Flex Framework 3 Additional Classes

Poster 3 : 18.7MB

Flex 3 Advanced Classes

Poster 4 :  13.0MB

Flex 3 Core Classes : Part 1

Poster 5 :  13.8MB

Flex 3 Core Classes : Part 2

文章分类: AIR, AS3, Flex ->发表评论 »

Adobe AIR应用之帝国cms计划任务助手

电介质 发布于 2009年06月08日 星期一

Please upgrade your Flash Player This is the content that would be shown if the user does not have Flash Player 9.0.115 or higher installed.

帝国CMS有个计划任务功能,可以设置一些需要定时自动执行的任务,因为不能在后台直接运行,所以每天都要在浏览器里,登录打开运行计划任务,感觉比较繁琐,顺手用Adobe AIR做了个,只要设置好用户名,密码,和cms登录地址如“http://youcms/e/admin”,设置好运行起止区间,点登录运行即可;
另外还可以选中,每次启动系统自动运行;这样每次开机它会自动检测是否在计划的时间段内,然后自动运行,到时间就自动退出,如果不关机,到第二天还会按计划自动运行。
如果断网了,它也会在网络恢复后自动按计划运行。
东西很简单,没有做什么界面设计,只是实现了功能。有使用帝国cms计划任务的,可以试试,当然 基于Adobe air的应用都是跨平台的了(mac,windows,linux)。截图

文章分类: AIR ->3 条评论 »

Adobe AIR监测网络链接状态

电介质 发布于 2009年06月05日 星期五

Adobe AIR应用程序要实现根据网络是否连接,来处理相应的操作,查了下官方文档和手册,发现相关的内容如下:

检测网络连接更改

监听事件方法

NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onNetworkChange);

此事件只是确定网络连接的状态发生改变,而不能告诉你网络是否可用。要进一步确定网络的可用性还需要下面的类。

检测 HTTP 连接

实现方法

var monitor:URLMonitor;

monitor = new URLMonitor(new URLRequest(‘http://www.adobe.com’));

monitor.addEventListener(StatusEvent.STATUS, announceStatus);

monitor.start();

function announceStatus(e:StatusEvent):void {

    trace("Status change. Current status: " + monitor.available);

}

用于确定http链接是否可用,实际中还可以把URLRequest的请求方法设为HEAD,以避免下载整个页面。

通过实验发现,实际情况和文档里说的不一样,文档里说URLMonitor的pollInterval属性为0时(默认为0),则不定期轮询服务器,而仅在调用 start() 后和网络状态发生更改时立即轮询。但实际测试结果,当网络状态发生改变时,并不能触发状态改变事件,什么原因还不清楚。

最后的解决办法是,在上面的检测网络连接更改事件中创建URLMonitor实例并监听状态改变事件,然后调用start()方法,在状态改变事件里判断链接是否可用,进一步处理相关操作。实现代码如下:

private var monitor:URLMonitor;

NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onNetworkChange);

public function onNetworkChange(event:Event):void{

trace("网络连接发生改变");

//监视网络状态

var url:URLRequest=new URLRequest(“要监测的网络地址”);

url.method = "HEAD";

monitor = new URLMonitor(url);

monitor.addEventListener(StatusEvent.STATUS, onMonitor);

monitor.start();

}

private function onMonitor(event:Event):void
            {
                monitor.removeEventListener(StatusEvent.STATUS, onMonitor);
                trace("连接"+monitor.available);
                if(monitor.available){//网络连接可用

              //处理联网操作
                }
                else
                {
                     //网络连接不可用,相关处理
                }
            }

检测套接字连接

实现方法

socketMonitor = new SocketMonitor(‘www.adobe.com’,6667);

socketMonitor.addEventListener(StatusEvent.STATUS,socketStatusChange);

socketMonitor.start();

function announceStatus(e:StatusEvent):void {

   trace("Status change. Current status: " + socketMonitor.available);

}

没有实验。

文章分类: AIR ->发表评论 »

Adobe AIR 1.5.1新特性

电介质 发布于 2009年03月20日 星期五

AIR1.5.1已经出来有些时间了,这里有一篇新特性的介绍

关于使用InvokeEvent.reason大概意思如下:

Adobe AIR应用程序已经可以确定是如何被调用的,通过监听被NativeApplication发布的InvokeEvent 事件,InvokeEvent 事件类包含了一个新的属性reason,此属性指示:应用程序是由用户手动启动,还是在登录时自动启动。这样应用程序就可以在启动时判断是否显示界面窗口,比如在系统登录时自动启动时不打开窗口,而用户自己启动时打开窗口。

当然要使用这个新的API,需要更新应用程序的描述文件为1.5.1的命名空间。

文章分类: AIR ->发表评论 »

关于Adobe AIR应用开发的一些问题

电介质 发布于 2009年01月18日 星期天

今天收到朋友nick的一个mail,就AIR 的尝试这篇文章中提到的一些AIR开发应用中存在的问题,问道“占用内存的问题,不知道是他开发的问题,还是air的通病?”回复mail后感觉这是个常见的疑问,所以把回复整理了一下发上来与同道探讨分享。

1、关于AIR应用占用内存的问题

就realazy开发的这个爱饭Adobe AIR应用,他是用HTML,CSS和javascript方式开发的,这种方式是基于air内嵌的webkit 引擎的(谷歌浏览器和苹果上web浏览器使用的web引擎),所以即使什么都不做,用这种方式开发就相当于打开了一个基于webkit引擎的web浏览器;

另外即使使用Flash AS方式和Flex方式开发,只要在应用中使用了html特性的功能就一样相当于打开了webkit浏览器。

2、三种Adobe AIR应用开发方式中,对内存资源消耗的大小顺序

由小到大的顺序是:单纯使用flash AS3开发(不使用html特性)<单纯使用FLex开发(不使用html特性)<使用html特性的开发:有三种情况HTML+CSS+JAVASCRIPT方式,使用flash as3和flex开发方式中包括html特性的开发)

Flex开发方式中因为使用Flex的框架极大的提高了开发效率和开发的协作性,但Flex框架中的各类组件本身却也事实上使编译结果文件更大,占用计算机的资源也更多,所以这种方式比单纯用flash AS3方式开发要消耗过更多的系统资源。

3、Adobe AIR跨平台开发的透明性

Adobe AIR程序可以跨平台运行的特性,是其优势之一,目前Adobe AIR1.5已经能支持Mac、windows上,和linux环境。

对于开发者来说,跨平台开发的代码透明是最理想的了,但是由于操作系统的管理方式的差异,要做到完全透明是不易的甚至有时是不可能的,具体参看关于Adobe AIR跨平台的透明开发问题

就realazy开发的这个爱饭Adobe AIR应用在linux下无法给窗口加阴影的问题,那不是Adobe AIR的问题,而是linux显示模式的问题,具体可以看我的这篇文章关于Adobe AIR 1.1 for Linux beta;只要在Adobe AIR应用开发中做些平台能力判断,做差异性处理就可以是Adobe AIR应用的跨平台开发更完美些了。

文章分类: AIR ->发表评论 »