发现个好东西Flex 3 Posters
As3,Flex3的类图Poster,来源Flex 3 Posters
转载如下:
Poster 1 : 13MB
Poster 2 : 17MB
Poster 3 : 18.7MB
Poster 4 : 13.0MB
Poster 5 : 13.8MB
AS3动态获得类名及类的方法
获得某个实例对象的类:
实例名["constructor"];
实例名.constructor;
获得某个实例对象的类名:
getQualifiedClassName (对象实例名)
进一步解释如下
getQualifiedClassName (value:*)
参数value手册上说:可以将任何 ActionScript 值传递给此方法,包括所有可用的 ActionScript 类型、对象实例、原始类型(如 uint)和类对象。示例如下:
trace(getQualifiedClassName(“abc”)); //输出 String
trace(getQualifiedClassName(1)); //输出 int
根据类名获得类:
getDefinitionByName(完全限定类名称的字符串表达式);
注意,这里的类名称需要有包路径的限定,如”flash.display.Sprite”,也可以这样写”flash.display::Sprite”,自定义的类也一样,当然如果自定义的类在根包,或是在fla的库里定义的类,或者是ActionScript的原始类型,则可以直接写类名字符串。
用得到的类实例化对象:
一般中间要用一个无类型变量传递类,进行实例化;
如:
var i=0;
var c:*=getDefinitionByName(“MyClass”+i);
var myClass:*=new c();
Adobe AIR应用之帝国cms计划任务助手
帝国CMS有个计划任务功能,可以设置一些需要定时自动执行的任务,因为不能在后台直接运行,所以每天都要在浏览器里,登录打开运行计划任务,感觉比较繁琐,顺手用Adobe AIR做了个,只要设置好用户名,密码,和cms登录地址如“http://youcms/e/admin”,设置好运行起止区间,点登录运行即可;
另外还可以选中,每次启动系统自动运行;这样每次开机它会自动检测是否在计划的时间段内,然后自动运行,到时间就自动退出,如果不关机,到第二天还会按计划自动运行。
如果断网了,它也会在网络恢复后自动按计划运行。
东西很简单,没有做什么界面设计,只是实现了功能。有使用帝国cms计划任务的,可以试试,当然 基于Adobe air的应用都是跨平台的了(mac,windows,linux)。
Adobe AIR监测网络链接状态
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);
}
没有实验。
