<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>flash风 &#187; AIR</title>
	<atom:link href="http://flash.moligu.com/category/air/feed" rel="self" type="application/rss+xml" />
	<link>http://flash.moligu.com</link>
	<description>风总是刮个不停</description>
	<lastBuildDate>Tue, 30 Mar 2010 14:00:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>发现个好东西Flex 3 Posters</title>
		<link>http://flash.moligu.com/101</link>
		<comments>http://flash.moligu.com/101#comments</comments>
		<pubDate>Mon, 28 Dec 2009 03:41:25 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/101</guid>
		<description><![CDATA[As3,Flex3的类图Poster，来源Flex 3 Posters
转载如下：
Poster 1 :&#160; 13MB     

Poster 2 :&#160; 17MB     

Poster 3 : 18.7MB     

Poster 4 :&#160; 13.0MB     

Poster 5 :&#160; 13.8MB     

]]></description>
			<content:encoded><![CDATA[<h3>As3,Flex3的类图Poster，来源<a href="http://arunbluebrain.wordpress.com/2009/08/12/flex-3-posters/" target="_blank">Flex 3 Posters</a></h3>
<h4><strong>转载如下：</strong></h4>
<p><strong>Poster 1 :&#160; 13MB</strong><strong>     <br /></strong></p>
<p><a href="http://go2.wordpress.com/?id=725X1342&amp;site=arunbluebrain.wordpress.com&amp;url=http%3A%2F%2Fcid-996eb7e8e54131c3.skydrive.live.com%2Fself.aspx%2FPublic%2FFlex%25203%2520Posters%2F1%2520AS3%2520Class%2520Diagram.zip"><img title="Actionscript 3 class diagram" height="43" alt="Actionscript 3 class diagram" src="http://arunbluebrain.files.wordpress.com/2009/08/1.png?w=480&amp;h=43" width="480" /></a></p>
<p><strong>Poster 2 :&#160; 17MB</strong><strong>     <br /></strong></p>
<p><a href="http://cid-996eb7e8e54131c3.skydrive.live.com/self.aspx/Public/Flex%203%20Posters/2%20Flex%203%20Additional%20Classes.zip"><img title="Flex Framework 3 Additional Classes" height="37" alt="Flex Framework 3 Additional Classes" src="http://arunbluebrain.files.wordpress.com/2009/08/2.png?w=480&amp;h=37" width="480" /></a></p>
<p><strong>Poster 3 : 18.7MB</strong><strong>     <br /></strong></p>
<p><a href="http://cid-996eb7e8e54131c3.skydrive.live.com/self.aspx/Public/Flex%203%20Posters/3%20Flex%203%20Advanced%20Classes.zip"><img title="Flex 3 Advanced Classes" height="36" alt="Flex 3 Advanced Classes" src="http://arunbluebrain.files.wordpress.com/2009/08/3.png?w=480&amp;h=36" width="480" /></a></p>
<p><strong>Poster 4 :&#160; 13.0MB</strong><strong>     <br /></strong></p>
<p><a href="http://cid-996eb7e8e54131c3.skydrive.live.com/self.aspx/Public/Flex%203%20Posters/4%20Flex%203%20Core%20Classes.zip"><img title="Flex 3 Core Classes : Part 1" height="35" alt="Flex 3 Core Classes : Part 1" src="http://arunbluebrain.files.wordpress.com/2009/08/4.png?w=480&amp;h=35" width="480" /></a></p>
<p><strong>Poster 5 :&#160; 13.8MB</strong><strong>     <br /></strong></p>
<p><a href="http://go2.wordpress.com/?id=725X1342&amp;site=arunbluebrain.wordpress.com&amp;url=http%3A%2F%2Fcid-996eb7e8e54131c3.skydrive.live.com%2Fself.aspx%2FPublic%2FFlex%25203%2520Posters%2F5%2520Flex%25203%2520Core%2520Classes.zip"><img title="Flex 3 Core Classes : Part 2" height="35" alt="Flex 3 Core Classes : Part 2" src="http://arunbluebrain.files.wordpress.com/2009/08/5.png?w=480&amp;h=35" width="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/101/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe AIR应用之帝国cms计划任务助手</title>
		<link>http://flash.moligu.com/94</link>
		<comments>http://flash.moligu.com/94#comments</comments>
		<pubDate>Mon, 08 Jun 2009 07:32:30 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Air应用]]></category>
		<category><![CDATA[帝国CMS]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/?p=94</guid>
		<description><![CDATA[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）。
]]></description>
			<content:encoded><![CDATA[<p><div id="flashcontent9043" style="width:215px; height:180px;"><strong>Please upgrade your Flash Player</strong> This is the content that would be shown if the user does not have Flash Player 9.0.115 or higher installed.</div><script type="text/javascript">
<!-- // <![CDATA[
var so = new SWFObject("http://flash.moligu.com/wp-content/plugins/air-badge/AIRInstallBadge.swf", "Badge", "215", "180", "9.0.115", "#FFFFFF");
so.useExpressInstall("http://flash.moligu.com/wp-content/plugins/air-badge/expressinstall.swf");
so.addVariable("airversion", "1.0");
so.addVariable("appname", "cmsAutoTask");
so.addVariable("appurl", "http://air.moligu.com/ecms/cmsAutoTask.air");
so.addVariable("appid", "com.moligu.air.cmsAutoTask");
so.addVariable("pubid", "B8DEC67DD00442455FF56DCEB0D5AC3F742DEF8C.1");
so.addVariable("appversion", "v1.0");
so.addVariable("imageurl", "");
so.addVariable("appinstallarg", "installed from web");
so.addVariable("applauncharg", "launched from web");
so.addVariable("helpurl", "help.html");
so.addVariable("hidehelp", "true");
so.addVariable("skiptransition", "false");
so.addVariable("titlecolor", "#00AAFF");
so.addVariable("buttonlabelcolor", "#00AAFF");
so.addVariable("appnamecolor", "#00AAFF");
so.addVariable("str_err_airswf", "<u>Running locally?</u><br/><br/>The AIR proxy swf won't load properly when this is run from the local file system.");
so.write("flashcontent9043");
// ]]&gt; -->
</script>
<br />
帝国CMS有个计划任务功能，可以设置一些需要定时自动执行的任务，因为不能在后台直接运行，所以每天都要在浏览器里，登录打开运行计划任务，感觉比较繁琐，顺手用Adobe AIR做了个，只要设置好用户名，密码，和cms登录地址如“http://youcms/e/admin”,设置好运行起止区间，点登录运行即可；<br />
另外还可以选中，每次启动系统自动运行；这样每次开机它会自动检测是否在计划的时间段内，然后自动运行，到时间就自动退出，如果不关机，到第二天还会按计划自动运行。<br />
如果断网了，它也会在网络恢复后自动按计划运行。<br />
东西很简单，没有做什么界面设计，只是实现了功能。有使用帝国cms计划任务的，可以试试，当然 基于Adobe air的应用都是跨平台的了（mac，windows，linux）。<img src="http://bbs.phome.net/ebb_data/tran/2009-06/1244453642.gif" alt="截图" /></p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/94/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adobe AIR监测网络链接状态</title>
		<link>http://flash.moligu.com/92</link>
		<comments>http://flash.moligu.com/92#comments</comments>
		<pubDate>Fri, 05 Jun 2009 10:45:44 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/92</guid>
		<description><![CDATA[Adobe AIR应用程序要实现根据网络是否连接，来处理相应的操作，查了下官方文档和手册，发现相关的内容如下：
检测网络连接更改
监听事件方法
NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onNetworkChange);
此事件只是确定网络连接的状态发生改变，而不能告诉你网络是否可用。要进一步确定网络的可用性还需要下面的类。
检测 HTTP 连接
实现方法
var monitor:URLMonitor;
monitor = new URLMonitor(new URLRequest(&#8216;http://www.adobe.com&#8217;));
monitor.addEventListener(StatusEvent.STATUS, announceStatus);
monitor.start();
function announceStatus(e:StatusEvent):void {
&#160;&#160;&#160; trace(&#34;Status change. Current status: &#34; + 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(&#34;网络连接发生改变&#34;);
//监视网络状态
var url:URLRequest=new URLRequest(“要监测的网络地址”);
url.method = &#34;HEAD&#34;;
monitor = new URLMonitor(url);
monitor.addEventListener(StatusEvent.STATUS, onMonitor);
monitor.start();
} 
private function onMonitor(event:Event):void   &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; monitor.removeEventListener(StatusEvent.STATUS, onMonitor);    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; trace(&#34;连接&#34;+monitor.available);   [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe AIR应用程序要实现根据网络是否连接，来处理相应的操作，查了下官方文档和手册，发现相关的内容如下：</p>
<p><strong>检测网络连接更改</strong></p>
<p>监听事件方法</p>
<p>NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onNetworkChange);</p>
<p>此事件只是确定网络连接的状态发生改变，而不能告诉你网络是否可用。要进一步确定网络的可用性还需要下面的类。</p>
<p><strong>检测 HTTP 连接</strong></p>
<p>实现方法</p>
<p>var monitor:URLMonitor;</p>
<p>monitor = new URLMonitor(new URLRequest(&#8216;<a href="http://www.adobe.com'));">http://www.adobe.com&#8217;));</a></p>
<p>monitor.addEventListener(StatusEvent.STATUS, announceStatus);</p>
<p>monitor.start();</p>
<p>function announceStatus(e:StatusEvent):void {</p>
<p>&#160;&#160;&#160; trace(&quot;Status change. Current status: &quot; + monitor.available);</p>
<p>}</p>
<p>用于确定http链接是否可用，实际中还可以把URLRequest的请求方法设为HEAD，以避免下载整个页面。</p>
<p>通过实验发现，实际情况和文档里说的不一样，文档里说URLMonitor的pollInterval属性为0时（默认为0），则不定期轮询服务器，而仅在调用 start() 后和网络状态发生更改时立即轮询。但实际测试结果，当网络状态发生改变时，并不能触发状态改变事件，什么原因还不清楚。</p>
<p>最后的解决办法是，在上面的<strong>检测网络连接更改</strong>事件中创建URLMonitor实例并监听状态改变事件，然后调用start()方法，在状态改变事件里判断链接是否可用，进一步处理相关操作。实现代码如下：</p>
<p>private var monitor:URLMonitor;</p>
<p>NativeApplication.nativeApplication.addEventListener(Event.NETWORK_CHANGE, onNetworkChange);</p>
<p>public function onNetworkChange(event:Event):void{</p>
<p>trace(&quot;网络连接发生改变&quot;);</p>
<p>//监视网络状态</p>
<p>var url:URLRequest=new URLRequest(“要监测的网络地址”);</p>
<p>url.method = &quot;HEAD&quot;;</p>
<p>monitor = new URLMonitor(url);</p>
<p>monitor.addEventListener(StatusEvent.STATUS, onMonitor);</p>
<p>monitor.start();</p>
<p>} </p>
<p>private function onMonitor(event:Event):void   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; monitor.removeEventListener(StatusEvent.STATUS, onMonitor);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; trace(&quot;连接&quot;+monitor.available);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(monitor.available){//网络连接可用</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //处理联网操作   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; else    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //网络连接不可用，相关处理    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>
<p><strong>检测套接字连接</strong></p>
<p>实现方法</p>
<p>socketMonitor = new SocketMonitor(&#8216;www.adobe.com&#8217;,6667);</p>
<p>socketMonitor.addEventListener(StatusEvent.STATUS,socketStatusChange);</p>
<p>socketMonitor.start();</p>
<p>function announceStatus(e:StatusEvent):void {</p>
<p>&#160;&#160; trace(&quot;Status change. Current status: &quot; + socketMonitor.available);</p>
<p>}</p>
<p>没有实验。</p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/92/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe AIR 1.5.1新特性</title>
		<link>http://flash.moligu.com/83</link>
		<comments>http://flash.moligu.com/83#comments</comments>
		<pubDate>Fri, 20 Mar 2009 02:36:18 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/83</guid>
		<description><![CDATA[AIR1.5.1已经出来有些时间了，这里有一篇新特性的介绍。
关于使用InvokeEvent.reason大概意思如下：
Adobe AIR应用程序已经可以确定是如何被调用的，通过监听被NativeApplication发布的InvokeEvent 事件，InvokeEvent 事件类包含了一个新的属性reason，此属性指示：应用程序是由用户手动启动，还是在登录时自动启动。这样应用程序就可以在启动时判断是否显示界面窗口，比如在系统登录时自动启动时不打开窗口，而用户自己启动时打开窗口。
当然要使用这个新的API，需要更新应用程序的描述文件为1.5.1的命名空间。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adobe.com/support/documentation/cn/air/1_5_1/releasenotes_developers.html" target="_blank">AIR1.5.1</a>已经出来有些时间了，这里有一篇<a href="http://blogs.adobe.com/simplicity/2009/02/invokeevent_reason_in_air_1_5_1.html" target="_blank">新特性的介绍</a>。</p>
<p>关于使用InvokeEvent.reason大概意思如下：</p>
<p>Adobe AIR应用程序已经可以确定是如何被调用的，通过监听被NativeApplication发布的InvokeEvent 事件，InvokeEvent 事件类包含了一个新的属性reason，此属性指示：应用程序是由用户手动启动，还是在登录时自动启动。这样应用程序就可以在启动时判断是否显示界面窗口，比如在系统登录时自动启动时不打开窗口，而用户自己启动时打开窗口。</p>
<p>当然要使用这个新的API，需要更新应用程序的描述文件为1.5.1的命名空间。</p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/83/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于Adobe AIR应用开发的一些问题</title>
		<link>http://flash.moligu.com/77</link>
		<comments>http://flash.moligu.com/77#comments</comments>
		<pubDate>Sun, 18 Jan 2009 09:31:13 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/77</guid>
		<description><![CDATA[今天收到朋友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特性）&#60;单纯使用FLex开发（不使用html特性）&#60;使用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应用的跨平台开发更完美些了。
]]></description>
			<content:encoded><![CDATA[<p>今天收到朋友nick的一个mail，就<a href="http://realazy.org/blog/2009/01/11/ifan-on-air/" target="_blank">AIR 的尝试</a>这篇文章中提到的一些AIR开发应用中存在的问题，问道“占用内存的问题，不知道是他开发的问题，还是air的通病？”回复mail后感觉这是个常见的疑问，所以把回复整理了一下发上来与同道探讨分享。</p>
<p><strong>1、关于AIR应用占用内存的问题</strong></p>
<p>就realazy开发的这个爱饭Adobe AIR应用，他是用HTML,CSS和javascript方式开发的，这种方式是基于air内嵌的webkit 引擎的（谷歌浏览器和苹果上web浏览器使用的web引擎），所以即使什么都不做，用这种方式开发就相当于打开了一个基于webkit引擎的web浏览器；</p>
<p>另外即使使用Flash AS方式和Flex方式开发，只要在应用中使用了html特性的功能就一样相当于打开了webkit浏览器。</p>
<p><strong>2、三种Adobe AIR应用开发方式中，对内存资源消耗的大小顺序</strong></p>
<p>由小到大的顺序是：单纯使用flash AS3开发（不使用html特性）&lt;单纯使用FLex开发（不使用html特性）&lt;使用html特性的开发：有三种情况HTML+CSS+JAVASCRIPT方式，使用flash as3和flex开发方式中包括html特性的开发）</p>
<p>Flex开发方式中因为使用Flex的框架极大的提高了开发效率和开发的协作性，但Flex框架中的各类组件本身却也事实上使编译结果文件更大，占用计算机的资源也更多，所以这种方式比单纯用flash AS3方式开发要消耗过更多的系统资源。</p>
<p><strong>3、Adobe AIR跨平台开发的透明性</strong></p>
<p>Adobe AIR程序可以跨平台运行的特性，是其优势之一，目前Adobe AIR1.5已经能支持Mac、windows上，和linux环境。</p>
<p>对于开发者来说，跨平台开发的代码透明是最理想的了，但是由于操作系统的管理方式的差异，要做到完全透明是不易的甚至有时是不可能的，具体参看<a href="http://flash.moligu.com/24" target="_blank">关于Adobe AIR跨平台的透明开发问题</a>。</p>
<p>就realazy开发的这个爱饭Adobe AIR应用在linux下无法给窗口加阴影的问题，那不是Adobe AIR的问题，而是linux显示模式的问题，具体可以看我的这篇文章<a href="http://flash.moligu.com/43" target="_blank">关于Adobe AIR 1.1 for Linux beta</a>；只要在Adobe AIR应用开发中做些平台能力判断，做差异性处理就可以是Adobe AIR应用的跨平台开发更完美些了。</p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/77/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RTMFP搭配Adobe Stratus service实现p2p</title>
		<link>http://flash.moligu.com/67</link>
		<comments>http://flash.moligu.com/67#comments</comments>
		<pubDate>Sun, 04 Jan 2009 14:48:08 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[p2p]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/67</guid>
		<description><![CDATA[Flash Player 10 和Adobe AIR 1.5 提供了一个叫RTMFP（Real-Time Media Flow Protocol）的新通信协议，能够方便的低成本的实现p2p能力。
要使用RTMFP的前提是，Flash Player端点必需要连接到一个具备RTMFP能力的服务器，这个服务器主要是用来做端点之间联系约会的中介，而不参与端点间的数据传输，具备这种能力的服务，Adobe Stratus service是一个，还有未来的新版本的FMS也可以。Stratus目前还在beta阶段，这里给了一个视频聊天演示，还有源代码下载，开发教程文章。
使用Adobe Stratus能够建立下列的应用:

一个视频聊天室
多用户游戏 
Voice Over IP 

要使用Adobe Stratus Service还需要注册一个Stratus beta developer key。
另外需要flash player10支持，使用Flex SDK3.2或Flex Build3.02开发，API参考Flash Player10 API文档。
更多的Adobe Stratus FAQ。
RTMFP是建立在UDP协议之上的实时通信协议，它不同于RTMP是建立在TCP协议之上的。RTMFP有如下特点：
1.它同时提供可靠的和不可靠的两种数据传输服务，当在端点之间传送数据时，它使用可靠的传输（如使用NetStream.send()），当在端点之间传送音频数据时，它使用不可靠传输。
2.RTMFP直接在端点之间传输多媒体信息，而不用象RTMP那样需要通过中心服务器的中转。
3.数据传输的优先级，音频优先级高于视频。
关于防火墙的穿越以及Stratus service等等问题，详见
Stratus service for developing end-to-end applications using RTMFP in Flash Player
]]></description>
			<content:encoded><![CDATA[<p>Flash Player 10 和Adobe AIR 1.5 提供了一个叫<a href="http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_rtmfp_faq_070208.pdf">RTMFP（Real-Time Media Flow Protocol）</a>的新通信协议，能够方便的低成本的实现p2p能力。</p>
<p>要使用RTMFP的前提是，Flash Player端点必需要连接到一个具备RTMFP能力的服务器，这个服务器主要是用来做端点之间联系约会的中介，而不参与端点间的数据传输，具备这种能力的服务，<a href="http://labs.adobe.com/technologies/stratus/">Adobe Stratus service</a>是一个，还有未来的新版本的FMS也可以。Stratus目前还在beta阶段，<a href="http://labs.adobe.com/technologies/stratus/samples/">这里给了一个视频聊天演示</a>，还有<a href="http://download.macromedia.com/pub/labs/stratus/stratus_article_assets.zip">源代码下载</a>，<a href="http://www.adobe.com/go/stratus_developingapplications">开发教程文章</a>。</p>
<p>使用Adobe Stratus能够建立下列的应用:</p>
<ul>
<li>一个视频聊天室</li>
<li>多用户游戏 </li>
<li>Voice Over IP </li>
</ul>
<p>要使用Adobe Stratus Service还需要<a href="https://www.adobe.com/cfusion/entitlement/index.cfm?e=stratus">注册一个Stratus beta developer key</a>。</p>
<p>另外需要<a href="http://www.adobe.com/go/getflash">flash player10</a>支持，使用<a href="http://www.adobe.com/devnet/flex/articles/sdk32_fb302.html">Flex SDK3.2或Flex Build3.02开发</a>，API参考<a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0">Flash Player10 API文档</a>。</p>
<p>更多的<a href="http://labs.adobe.com/wiki/index.php/Stratus:FAQ">Adobe Stratus FAQ</a>。</p>
<p>RTMFP是建立在UDP协议之上的实时通信协议，它不同于RTMP是建立在TCP协议之上的。<strong>RTMFP有如下特点：</strong></p>
<p>1.它同时提供可靠的和不可靠的两种数据传输服务，当在端点之间传送数据时，它使用可靠的传输（<code>如使用NetStream.send()</code>），当在端点之间传送音频数据时，它使用不可靠传输。</p>
<p>2.RTMFP直接在端点之间传输多媒体信息，而不用象RTMP那样需要通过中心服务器的中转。</p>
<p>3.数据传输的优先级，音频优先级高于视频。</p>
<p>关于<strong>防火墙的穿越</strong>以及<strong>Stratus service</strong>等等问题，详见</p>
<h4><a href="http://www.adobe.com/go/stratus_developingapplications">Stratus service for developing end-to-end applications using RTMFP in Flash Player</a></h4>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/67/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Adobe AIR1.5最新中文文档</title>
		<link>http://flash.moligu.com/57</link>
		<comments>http://flash.moligu.com/57#comments</comments>
		<pubDate>Sun, 21 Dec 2008 19:20:07 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/?p=57</guid>
		<description><![CDATA[ 
使用 Adobe Flex 3 开发 Adobe AIR 1.5 应用程序
使用 Adobe Flash CS4 Professional 开发 Adobe AIR 1.5 应用程序
使用 HTML 和 Ajax 开发 Adobe AIR 1.5 应用程序
Adobe Flex 3.2 语言参考手册 
ActionScript 3.0 语言和组件参考
 针对 HTML 开发人员的 Adobe® AIR™ 语言参考
Adobe ActionScript 3.0 编程
更多

]]></description>
			<content:encoded><![CDATA[<p> </p>
<h2><a title="使用 Adobe Flex 3 开发 Adobe AIR 1.5 应用程序" href="http://help.adobe.com/zh_CN/AIR/1.5/devappsflex/" target="_blank">使用 Adobe Flex 3 开发 Adobe AIR 1.5 应用程序</a></h2>
<h2><a title="使用 Adobe Flash CS4 Professional 开发 Adobe AIR 1.5 应用程序" href="http://help.adobe.com/zh_CN/AIR/1.5/devappsflash/" target="_blank">使用 Adobe Flash CS4 Professional 开发 Adobe AIR 1.5 应用程序</a></h2>
<h2><a title="使用 HTML 和 Ajax 开发 Adobe AIR 1.5 应用程序 " href="http://help.adobe.com/zh_CN/AIR/1.5/devappshtml/" target="_blank">使用 HTML 和 Ajax 开发 Adobe AIR 1.5 应用程序</a></h2>
<p><a title="Flex 3.2 语言参考" href="http://livedocs.adobe.com/flex/3_cn/langref/index.html" target="_blank">Adobe Flex 3.2 语言参考手册 </a></p>
<p><a title="ActionScript 3.0 语言和组件参考" href="http://help.adobe.com/zh_CN/AS3LCR/Flash_10.0/index.html" target="_blank">ActionScript 3.0 语言和组件参考</a></p>
<p><a href="http://help.adobe.com/zh_CN/AIR/1.5/jslr/index.html" target="_blank"> 针对 HTML 开发人员的 Adobe® AIR™ 语言参考</a></p>
<p><a title="Adobe ActionScript 3.0 编程" href="http://www.adobe.com/go/learn_fl_cs4_programmingAS3_cn" target="_blank">Adobe ActionScript 3.0 编程</a></p>
<p><a title="adobe AIR中文文档" href="http://www.adobe.com/support/documentation/cn/air/" target="_blank">更多</a></p>
<p><!-- END PAGE TITLE --><!-- BEGIN IONCOMMENTCOUNT --></p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/57/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于.air文件的Mime 类型问题</title>
		<link>http://flash.moligu.com/44</link>
		<comments>http://flash.moligu.com/44#comments</comments>
		<pubDate>Sat, 25 Oct 2008 07:14:16 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/?p=44</guid>
		<description><![CDATA[今天发现在IE6下，点击我的.air文件，下载被改成了.zip文件，于是查了一下air文件的mime类型，在服务器端设置了一下，就正常了。
Adobe AIR的mime类型是“application/vnd.adobe.air-application-installer-package+zip”，如果你是 Apache服务器也可以在有.air文件的目录下保存一个 “.htaccess” 的文件，添加如下内容“AddType application/vnd.adobe.air-application-installer-package+zip .air”来支持.air的Mime类型。
在网上搜了一下相关的问题，有一篇文章中还提到，这个问题还会影响web无缝安装的正常工作。
]]></description>
			<content:encoded><![CDATA[<p>今天发现在IE6下，点击我的.air文件，下载被改成了.zip文件，于是查了一下air文件的mime类型，在服务器端设置了一下，就正常了。</p>
<p>Adobe AIR的mime类型是“application/vnd.adobe.air-application-installer-package+zip”，如果你是 Apache服务器也可以在有.air文件的目录下保存一个 “.htaccess” 的文件，添加如下内容<strong>“AddType application/vnd.adobe.air-application-installer-package+zip .air”</strong>来支持.air的Mime类型。</p>
<p>在网上搜了一下相关的问题，有一篇<a href="http://www.rogue-development.com/blog2/2007/10/air-mime-type/">文章</a>中还提到，这个问题还会影响web无缝安装的正常工作。</p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/44/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>关于Adobe AIR 1.1 for Linux beta</title>
		<link>http://flash.moligu.com/43</link>
		<comments>http://flash.moligu.com/43#comments</comments>
		<pubDate>Mon, 22 Sep 2008 06:56:46 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/43</guid>
		<description><![CDATA[Adobe 前几天发布了Adobe AIR 1.1 for Linux beta版；我在ubuntu 7.10上下载安装了Adobe AIR for Linux Beta版，然后安装了一下自己前面做的海词（DICT.CN）Adobe AIR版 ，其他功能都正常，只发现所有界面透明部分都是黑色，查了下资料发现，这是linux下系统外观设置的问题，一般情况下，无外观显示效果的linux图形界面下是不支持透明，只需在ubuntu 的 系统首选项\外观\显示效果 中选择增强显示相关或更好的扩展显示效果，Adobe air的应用程序界面就可以正常的显示透明效果了。
这样就需要针对这一问题在Adobe air程序设计时做平台兼容性考虑，这在Adobe air的NativeWindow类有一个属性supportsTransparency，这一属性指示操作系统是否能够绘制透明窗口。在 Mac OS 和 Windows 上，此属性的值始终为 true。 在 Linux 上，此属性的值与 Linux 分发版本的配置有关（也就是上面所说的linux图形界面外观显示效果设置）。若 NativeWindow.supportsTransparency 为 false，则无论窗口transparent 属性为何值，所有像素的不透明度都将设为 1，完全透明的像素将呈现黑色。
因此需要在Adobe air程序界面显示代码中增加这一属性的检测，以便针对不同的系统性能做不同的界面显示。
补充说明：supportsTransparency 属性是Adobe AIR 1.1新增的特性，之前的版本不支持此属性，另外注意它是NativeWindow类的一个静态属性，所以可以直接通过NativeWindow.supportsTransparency 的方式访问，而不能通过NativeWindow类的实例来访问。
]]></description>
			<content:encoded><![CDATA[<p>Adobe 前几天发布了<a href="http://labs.adobe.com/technologies/air/">Adobe AIR 1.1 for Linux beta</a>版；我在ubuntu 7.10上<a title="Adobe AIR for Linux Beta" href="http://labs.adobe.com/downloads/air_linux.html" target="_blank">下载</a>安装了Adobe AIR for Linux Beta版，然后安装了一下自己前面做的<a href="http://flash.moligu.com/34">海词（DICT.CN）Adobe AIR版 </a>，其他功能都正常，只发现所有界面透明部分都是黑色，查了下资料发现，这是linux下系统外观设置的问题，一般情况下，无外观显示效果的linux图形界面下是不支持透明，只需在ubuntu 的 系统首选项\外观\显示效果 中选择增强显示相关或更好的扩展显示效果，Adobe air的应用程序界面就可以正常的显示透明效果了。</p>
<p>这样就需要针对这一问题在Adobe air程序设计时做平台兼容性考虑，这在Adobe air的NativeWindow类有一个属性supportsTransparency，这一属性指示操作系统是否能够绘制透明窗口。在 Mac OS 和 Windows 上，此属性的值始终为 true。 在 Linux 上，此属性的值与 Linux 分发版本的配置有关（也就是上面所说的linux图形界面外观显示效果设置）。若 <code>NativeWindow.supportsTransparency</code> 为 <code>false</code>，则无论窗口<code>transparent</code> 属性为何值，所有像素的不透明度都将设为 1，完全透明的像素将呈现黑色。</p>
<p>因此需要在Adobe air程序界面显示代码中增加这一属性的检测，以便针对不同的系统性能做不同的界面显示。</p>
<p>补充说明：<span style="font-family: Courier New;">supportsTransparency</span> 属性是Adobe AIR 1.1新增的特性，之前的版本不支持此属性，另外注意它是<span style="font-family: Courier New;">NativeWindow类的一个静态属性，所以可以直接通过NativeWindow.supportsTransparency 的方式访问，而不能通过NativeWindow类的实例来访问。</span></p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/43/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>海词（DICT.CN）的Adobe AIR版</title>
		<link>http://flash.moligu.com/34</link>
		<comments>http://flash.moligu.com/34#comments</comments>
		<pubDate>Tue, 22 Jul 2008 11:59:14 +0000</pubDate>
		<dc:creator>电介质</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[dict.cn]]></category>
		<category><![CDATA[海词]]></category>

		<guid isPermaLink="false">http://flash.moligu.com/?p=34</guid>
		<description><![CDATA[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.



最近研究Adobe AIR ，看英文文档，时常要用词典查词，喜欢用海词（dict.cn）,但使用web用起来感觉不方便，于是做了个海词（DICT.CN）的Adobe AIR版客户端，周围没有苹果的Mac OS X操作系统，所以还没在苹果的平台下测试。麻烦有的朋友帮忙测试一下。
上面的web在线无缝安装，可能因为国外的服务器会比较慢，可以刷新下试试；也可以直接下载，需要安装Adobe AIR运行时。
目前的Adobe AIR技术还没法做到像金山词霸那样的屏幕取词功能，目前只支持拖拽取词，和剪贴板取词，具体使用参看：myDict使用帮助
关于myDict
不是美工出身，在界面设计上花了不少时间，自己还算满意：）
这个在线词典主要应用到了Adobe AIR的下列技术手段：
拖拽管理、本地窗口、系统托盘、剪贴板、本地菜单等等,其他为as3技术，如xml解析。
这个小词典，我还会不断完善（一是自己要用，二也分享给需要的朋友们），希望朋友们试用，多提宝贵意见和建议：）
下一步主要会增加历史查询的存储和翻阅。
]]></description>
			<content:encoded><![CDATA[<p><div id="flashcontent1329" style="width:215px; height:180px;"><strong>Please upgrade your Flash Player</strong> This is the content that would be shown if the user does not have Flash Player 9.0.115 or higher installed.</div><script type="text/javascript">
<!-- // <![CDATA[
var so = new SWFObject("http://flash.moligu.com/wp-content/plugins/air-badge/AIRInstallBadge.swf", "Badge", "215", "180", "9.0.115", "#FFFFFF");
so.useExpressInstall("http://flash.moligu.com/wp-content/plugins/air-badge/expressinstall.swf");
so.addVariable("airversion", "1.0");
so.addVariable("appname", "mydict");
so.addVariable("appurl", "http://flash.moligu.com/wp-content/uploads/2008/07/mydict1.air");
so.addVariable("appid", "com.moligu.air.myDict");
so.addVariable("pubid", "B8DEC67DD00442455FF56DCEB0D5AC3F742DEF8C.1");
so.addVariable("appversion", "1.0");
so.addVariable("imageurl", "http://flash.moligu.com/wp-content/uploads/2008/07/mydict.jpg");
so.addVariable("appinstallarg", "installed from web");
so.addVariable("applauncharg", "launched from web");
so.addVariable("helpurl", "help.html");
so.addVariable("hidehelp", "true");
so.addVariable("skiptransition", "false");
so.addVariable("titlecolor", "#00AAFF");
so.addVariable("buttonlabelcolor", "#00AAFF");
so.addVariable("appnamecolor", "#00AAFF");
so.addVariable("str_err_airswf", "<u>Running locally?</u><br/><br/>The AIR proxy swf won't load properly when this is run from the local file system.");
so.write("flashcontent1329");
// ]]&gt; -->
</script>
</p>
<p>最近研究Adobe AIR ，看英文文档，时常要用词典查词，喜欢用海词（dict.cn）,但使用web用起来感觉不方便，于是做了个<a title="直接下载.air安装文件" href="http://flash.moligu.com/wp-content/uploads/2008/07/mydict.air" target="_self">海词（DICT.CN）的Adobe AIR版客户端</a>，周围没有苹果的Mac OS X操作系统，所以还没在苹果的平台下测试。麻烦有的朋友帮忙测试一下。</p>
<p>上面的web在线无缝安装，可能因为国外的服务器会比较慢，可以刷新下试试；也可以<a title="直接下载.air安装文件" href="http://flash.moligu.com/wp-content/uploads/2008/07/mydict.air" target="_self">直接下载</a>，需要安装<a title="装Adobe AIR运行时" href="http://get.adobe.com/air/" target="_self">Adobe AIR运行时</a>。</p>
<p>目前的Adobe AIR技术还没法做到像金山词霸那样的屏幕取词功能，目前只支持拖拽取词，和剪贴板取词，具体使用参看：<a title="myDict使用帮助" href="http://flash.moligu.com/help_mydict" target="_self">myDict使用帮助</a><br />
<a title="关于myDict" href="http://flash.moligu.com/about_mydict" target="_self">关于myDict</a><br />
不是美工出身，在界面设计上花了不少时间，自己还算满意：）</p>
<p>这个在线词典主要应用到了Adobe AIR的下列技术手段：<br />
拖拽管理、本地窗口、系统托盘、剪贴板、本地菜单等等,其他为as3技术，如xml解析。</p>
<p>这个小词典，我还会不断完善（一是自己要用，二也分享给需要的朋友们），希望朋友们试用，多提宝贵意见和建议：）</p>
<p>下一步主要会增加历史查询的存储和翻阅。</p>
]]></content:encoded>
			<wfw:commentRss>http://flash.moligu.com/34/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
