??xml version="1.0" encoding="utf-8" standalone="yes"?>精品视频在线观看日韩,欧美视频第二页,久久久久久久久久看片http://www.aygfsteel.com/xiaomage234/category/28294.html生命本就是一ơ凄的漂流Q记忆中放不下的Q永q是孩提时代的那一份浪漫与U真Q?/description>zh-cnSun, 12 Feb 2012 01:56:19 GMTSun, 12 Feb 2012 01:56:19 GMT60Flash Builder 4.6 序列?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2012/02/11/369800.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Sat, 11 Feb 2012 12:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2012/02/11/369800.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/369800.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2012/02/11/369800.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/369800.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/369800.html</trackback:ping><description><![CDATA[<div><div>Flash builder 4.6 序列P</div><div></div><div>1424-4938-3077-5736-3940-5640</div><div>1424-4827-8874-7387-0243-7331</div><div>在host文gq加Q?/div><div></div><div>127.0.0.1 activate.adobe.com </div><div>127.0.0.1 practivate.adobe.com </div><div>127.0.0.1 ereg.adobe.com </div><div>127.0.0.1 activate.wip3.adobe.com </div><div>127.0.0.1 wip3.adobe.com </div><div>127.0.0.1 3dns-3.adobe.com </div><div>127.0.0.1 3dns-2.adobe.com </div><div>127.0.0.1 adobe-dns.adobe.com </div><div>127.0.0.1 adobe-dns-2.adobe.com </div><div>127.0.0.1 adobe-dns-3.adobe.com </div><div>127.0.0.1 ereg.wip3.adobe.com </div><div>127.0.0.1 activate-sea.adobe.com </div><div>127.0.0.1 wwis-dubc1-vip60.adobe.com </div></div>127.0.0.1 activate-sjc0.adobe.com <img src ="http://www.aygfsteel.com/xiaomage234/aggbug/369800.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2012-02-11 20:53 <a href="http://www.aygfsteel.com/xiaomage234/archive/2012/02/11/369800.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>flexpaper源码的编译,去除logo和打?【{?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2012/02/11/369786.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Sat, 11 Feb 2012 04:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2012/02/11/369786.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/369786.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2012/02/11/369786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/369786.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/369786.html</trackback:ping><description><![CDATA[<div><p>1.首先下蝲FlexPaper的源码?a target="_blank">下蝲地址</a></p> <p>2.本h不懂flashQ只是百度下Q然后自q弄弄的。我用的flash build 4.5</p> <p>提供个keyQ?499-4181-9296-6452-2998-3656</p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010510474683.png" alt="" /></p> <p>首先在flash build中新Z个flex目Q第一步填写项目名U?flexpaperQ第二步直接默认Q最后一步需要注意下?/p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010510504338.png" alt="" /></p> <p>选择合ƈC码中Q要不然你的bin-debug目录下面会出现很多其他的swf文g</p> <p>然后把你1步下载下来的源码解压?/p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010510525924.png" alt="" /></p> <p>把这三个目录全部复制C刚才建立的flex目根目录下。最后结果是q样的:</p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010510540618.png" alt="" /></p> <p>q时候打开src目录下面默认包下的flexpaper.mxml文gQ加入如下代码,里面paper.swf是从pdf转换q来的,不懂的就看看我说flexpaper的文章?/p> <div> <pre><?xml version="1.0" encoding="utf-8"?> <br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" <br /> layout="absolute" <br /> width="100%" height="100%" <br /> xmlns:flexpaper="com.devaldi.controls.flexpaper.*"> <br /> <br /> <br /> <br /> <!--Scale为浏览文档的攑֤比率--> <br /> <flexpaper:FlexPaperViewer width="100%" height="100%" <br /> Scale="1.0" SwfFile="Paper.swf" /> <br /> <br /></mx:Application> </pre> </div> <p>然后点击目的属性,附加的~译参数修改成如下所C,-source-path=locale/{locale}</p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010510570994.png" alt="" /></p> <p> </p> <p>我记得这些全部完成以后,好像有个文g一处会有错误,如果出错文g前面会有个红×Q找到它Q然后把那句话去掉,是一个属性设|。没什么媄响?/p> <p>然后可以run了?/p> <p>修改Q?/p> <p>1.右上角有一个FPQ点M后出现about</p> <p>扑ֈ如下所C的文gQ?/p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010511015743.png" alt="" /></p> <p><br />打开Q搜索bttnInfoQ一共就三句Q全部注释掉。然后在runQ就会发现右上角的FP没了。(print也是在这个文仉面修改的Q大家自q看吧Q?/p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010511042785.png" alt="" /></p> <p>2.修改右下角的logoQ如?/p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010511075554.png" alt="" /></p> <p>扑ֈ如下文gQ打开Q找到sizeChangedq个函数。把里面的两句话都注释掉OK了。(虽然不懂Q但是这些看看也都能知道个大概)</p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010511104841.png" alt="" /></p> <p>好了。修改完毕。至于其他的修改Q大家可以自q看源文g。反正功能老外都帮我们现实了,我们只要修修Ҏ而已?/p> <p>补充一点,如果想用Q入下图Q?/p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010511140391.png" alt="" /></p> <p>扑ֈ目bin-debug下面的flexpaper.swf。(其他的swf是我之前没有合q到代码中的那些swfQ如果没有合q的需要把q些swf文g全部一h贝)</p> <p>攑֜你下载回来的例子中,替换如下Q?/p> <p><img src="http://pic002.cnblogs.com/images/2012/332739/2012010511154888.png" alt="" /></p> <p>把刚才的文gҎq个名字OK了。然后在q行׃发现可以了?/p> <p> </p> <p>上面的方法似乎是把flash已经写死了,下面的这U方法编译出来的swf应该是可以动态加载flash的。(从网上找到的Q?/p> <div> <pre><?xml version="1.0" encoding="utf-8"?> <br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" <br /> xmlns:fp="com.devaldi.controls.flexpaper.*" <br /> layout="absolute" width="100%" height="100%" <br /> applicationComplete="initApp();"> <br /> <br /> <mx:Script> <br /> <![CDATA[ <br /> <span style="color: #0000ff;">import</span> mx.controls.Alert; <br /> <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _aid = 0;<span style="color: #008000;">//</span><span style="color: #008000;">文档ID </span><span style="color: #008000;"><br /></span> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _Scale:<span style="color: #0000ff;">Number</span> = 1;<span style="color: #008000;">//</span><span style="color: #008000;">~放比例 </span><span style="color: #008000;"><br /></span> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _SwfFile:<span style="color: #0000ff;">String</span> = "";<span style="color: #008000;">//</span><span style="color: #008000;">SWF文g路径 </span><span style="color: #008000;"><br /></span> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _ZoomTransition:<span style="color: #0000ff;">String</span> = "easeOut"; <br /> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _ZoomTime:<span style="color: #0000ff;">Number</span> = 0.6; <br /> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _ZoomInterval:<span style="color: #0000ff;">Number</span> = 0.1; <br /> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _FitPageOnLoad:<span style="color: #0000ff;">Boolean</span> = <span style="color: #0000ff;">false</span>;<span style="color: #008000;">//</span><span style="color: #008000;">加蝲后适合高度 </span><span style="color: #008000;"><br /></span> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _FitWidthOnLoad:<span style="color: #0000ff;">Boolean</span> = <span style="color: #0000ff;">false</span>;<span style="color: #008000;">//</span><span style="color: #008000;">加蝲后适合宽度 </span><span style="color: #008000;"><br /></span> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _PrintEnabled:<span style="color: #0000ff;">Boolean</span> = <span style="color: #0000ff;">true</span>;<span style="color: #008000;">//</span><span style="color: #008000;">是否支持打印 </span><span style="color: #008000;"><br /></span> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _FullScreenAsMaxWindow:<span style="color: #0000ff;">Boolean</span> = <span style="color: #0000ff;">false</span>;<span style="color: #008000;">//</span><span style="color: #008000;">是否支付全屏 </span><span style="color: #008000;"><br /></span> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _ProgressiveLoading:<span style="color: #0000ff;">Boolean</span> = <span style="color: #0000ff;">false</span>;<span style="color: #008000;">//</span><span style="color: #008000;">是否延迟加蝲 </span><span style="color: #008000;"><br /></span> <br /> [Bindable] <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _localeChain:<span style="color: #0000ff;">String</span> = "zh_CN";<span style="color: #008000;">//</span><span style="color: #008000;">语言 </span><span style="color: #008000;"><br /></span> <br /> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">var</span> isFocus:<span style="color: #0000ff;">Boolean</span> = <span style="color: #0000ff;">false</span>; <br /> <br /> <span style="color: #008000;">//</span><span style="color: #008000;">初始化参? </span><span style="color: #008000;"><br /></span> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> initApp():void{ <br /> <span style="color: #0000ff;">var</span> params:<span style="color: #0000ff;">Object</span> = Application.application.parameters; <br /> _Scale = getNumber(params, "Scale", 1); <br /> _SwfFile = getString(params, "SwfFile", "Paper.swf"); <br /> _ZoomTransition = getString(params, "ZoomTransition", "easeOut"); <br /> _ZoomTime = getNumber(params, "ZoomTime", 0.6); <br /> _ZoomInterval = getNumber(params, "ZoomInterval", 0.1); <br /> _FitPageOnLoad = getBoolean(params, "FitPageOnLoad", <span style="color: #0000ff;">false</span>); <br /> _FitWidthOnLoad = getBoolean(params, "FitWidthOnLoad", <span style="color: #0000ff;">false</span>); <br /> _PrintEnabled = getBoolean(params, "PrintEnabled", <span style="color: #0000ff;">true</span>); <br /> _FullScreenAsMaxWindow = getBoolean(params, "FullScreenAsMaxWindow", <span style="color: #0000ff;">false</span>); <br /> _ProgressiveLoading = getBoolean(params, "ProgressiveLoading", <span style="color: #0000ff;">true</span>); <br /> _localeChain = params["localeChain"]; <br /> <br /> <span style="color: #008000;">//</span><span style="color: #008000;">注册事g监听 </span><span style="color: #008000;"><br /></span> this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); <br /> this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); <br /> <br /> <span style="color: #008000;">//</span><span style="color: #008000;">开攄外部QjavascriptQ调? </span><span style="color: #008000;"><br /></span> ExternalInterface.addCallback("hasFocus", hasFocus); <br /> <span style="color: #008000;">//</span><span style="color: #008000;">ExternalInterface.addCallback("focus", focus); </span><span style="color: #008000;"><br /></span> ExternalInterface.addCallback("setViewerFocus", setViewerFocus); <br /> } <br /> <br /> <br /> <br /> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> onMouseOver(event:MouseEvent):void{ <br /> this.isFocus = <span style="color: #0000ff;">true</span>; <br /> } <br /> <br /> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> onMouseOut(event:MouseEvent):void{ <br /> this.isFocus = <span style="color: #0000ff;">false</span>; <br /> } <br /> <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> hasFocus():<span style="color: #0000ff;">Boolean</span>{ <br /> <span style="color: #008000;">//</span><span style="color: #008000;">Alert.show("hasFocus"); </span><span style="color: #008000;"><br /></span> <span style="color: #0000ff;">return</span> isFocus; <br /> } <br /> <br /> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> setViewerFocus(isFocus:<span style="color: #0000ff;">Boolean</span>):void{ <br /> <span style="color: #008000;">//</span><span style="color: #008000;">Alert.show("setViewerFocus"); </span><span style="color: #008000;"><br /></span> this.paperViewer.setViewerFocus(); <br /> } <br /> <br /> <span style="color: #008000;">/*</span><span style="color: #008000;">* <br /> * <br /> * 获取Stringcd参数 <br /> * 如果没有Q则q回默认?<br /> *</span><span style="color: #008000;">*/</span> <br /> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> getString(params:<span style="color: #0000ff;">Object</span>, name:<span style="color: #0000ff;">String</span>, def:<span style="color: #0000ff;">String</span>):<span style="color: #0000ff;">String</span>{ <br /> <span style="color: #0000ff;">if</span>(params[name] != <span style="color: #0000ff;">null</span>){ <br /> <span style="color: #0000ff;">return</span> params[name]; <br /> } <br /> <span style="color: #0000ff;">return</span> def; <br /> } <br /> <br /> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> getNumber(params:<span style="color: #0000ff;">Object</span>, name:<span style="color: #0000ff;">String</span>, def:<span style="color: #0000ff;">Number</span>):<span style="color: #0000ff;">Number</span>{ <br /> <span style="color: #0000ff;">if</span>(params[name] != <span style="color: #0000ff;">null</span>){ <br /> <span style="color: #0000ff;">return</span> params[name]; <br /> } <br /> <span style="color: #0000ff;">return</span> def; <br /> } <br /> <br /> <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">function</span> getBoolean(params:<span style="color: #0000ff;">Object</span>, name:<span style="color: #0000ff;">String</span>, def:<span style="color: #0000ff;">Boolean</span>):<span style="color: #0000ff;">Boolean</span>{ <br /> <span style="color: #008000;">//</span><span style="color: #008000;">Alert.show("比较Q?+name); </span><span style="color: #008000;"><br /></span> <span style="color: #0000ff;">if</span>(params[name] != <span style="color: #0000ff;">null</span>){ <br /> <span style="color: #0000ff;">return</span> params[name] == "true"; <br /> } <br /> <span style="color: #0000ff;">return</span> def; <br /> } <br /> ]]> <br /> </mx:Script> <br /> <!--mx:Panel x="165" y="76" width="250" height="200" layout="absolute" title="一个h"> <br /> <mx:Label x="59" y="37" text="{Scale}" width="88"/> <br /> </mx:Panel--> <br /> <br /> <fp:FlexPaperViewer id="paperViewer" <br /> width="100%" <br /> height="100%" <br /> Scale="{_Scale}" <br /> SwfFile="{_SwfFile}" <br /> ZoomTransition="{_ZoomTransition}" <br /> ZoomTime="{_ZoomTime}" <br /> ZoomInterval="{_ZoomInterval}" <br /> FitPageOnLoad="{_FitPageOnLoad}" <br /> FitWidthOnLoad="{_FitWidthOnLoad}" <br /> PrintEnabled="{_PrintEnabled}" <br /> FullScreenAsMaxWindow="{_FullScreenAsMaxWindow}" <br /> ProgressiveLoading="{_ProgressiveLoading}" /> <br /></mx:Application></pre> </div> <p><br />但是按照上述Ҏ试了下,无法调用官Ҏ供的API接口了。原因是上述的程序ƈ没有提供接口Q接口在FlexPaperViewer_Base.mxmlQ这个文件中</p> <p>只需要加入如下的语句Q就可以调用gotoPage接口?/p> <div> <pre><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> gotoPage(p:<span style="color: #0000ff;">Number</span>):void{<br /> paperViewer.gotoPage(p);<br /> }</pre> </div> <p>别忘了增加一句监听,ljs调用</p> <div> <pre>ExternalInterface.addCallback("gotoPage", gotoPage);</pre> </div> 到此OK。编译出来的可以加蝲API了?/div><img src ="http://www.aygfsteel.com/xiaomage234/aggbug/369786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2012-02-11 12:10 <a href="http://www.aygfsteel.com/xiaomage234/archive/2012/02/11/369786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML Adobe AIR HelloWorld目http://www.aygfsteel.com/xiaomage234/archive/2011/07/22/354860.html马?/dc:creator>马?/author>Fri, 22 Jul 2011 08:39:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2011/07/22/354860.htmlhttp://www.aygfsteel.com/xiaomage234/comments/354860.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2011/07/22/354860.html#Feedback0http://www.aygfsteel.com/xiaomage234/comments/commentRss/354860.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/354860.html

q里我们通过一个简单的HelloWorld目演示Air目的开发过E,本文演示的是?/span>Windows操作pȝ下,使用HTML技术来开?/span>Air应用的过E,在不同操作系l下Q用不同的开发技术(比如Q?/span>flash/flexQ开发过E可能会略有不同?/span>

建立开发环?/span>

一个完整的Air开发环境需要安?/span>AirRuntime?/span>AirSDK?/span>JavaRuntimeQM来说安装与配|过E还是比较简单的。其?/span>AirRuntime?/span>JavaRuntime的安装非常简单,我们只需要下载,q执行下载文件安装即可,和安装一个普通的应用E序没什么两P下蝲地址Q?/span>

AirRuntimeQ?/span>http://get.adobe.com/cn/air/

JavaRuntimeQ?/span>http://www.java.com/zh_CN/

需要说一下的?/span>AirSDK的安装,首先我们要下载它Q?/span>http://www.adobe.com/products/air/tools/sdk/

下蝲后我们会得到一?/span>AdobeAIRSDK.zip文gQ您可以它解压CQ何一个目录下Q例如解压到“D:/AirSDK/”。解压后只需要在path环境变量中加?#8220;D:/AirSDK/bin”。这P我们的开发环境就搭徏好了Q下面让我们来开发应用程序吧?/span>

~写应用E序

每一?/span>Air应用都需要一个应用程序配|文Ӟ以下UCؓQ项目描q文ӞQ这个文件?/span>XML格式Q用于配|项目相关的信息Q比如程序入口,初始H体的一些设|等?/span>Airq行时框架也是通过此文件才能得知应用程序的入口信息?/span>

在这个程序配|文件中我们可以指定应用E序入口HTML文gQ这P我们可以通过q个HTML文g来开?/span>Air应用之旅。下面我们将制作一?/span>Air应用Q整个应用由“application.xml”?#8220;HelloWorld.html”两个文gl成。我们先来看看项目描q文件?/span>

创徏目描述文g

我们先来建立一个目录来存放Air应用的文Ӟ比如Q?#8220;D:/airApps/HelloWorld”。在HelloWorld建立一?/span>application.xml文gQ其内容如下Q?/span>

<?xml version="1.0" encoding="UTF-8"?>

<application xmlns="http://ns.adobe.com/air/application/1.5">

<id>com.keda.examples.HelloAir</id>

<version>0.1</version>

<filename>HelloAir</filename>

<initialWindow>

        <content> HelloWorld.html</content>

        <visible>true</visible>

        <width>400</width>

        <height>200</height>

</initialWindow>

</application>

单解释一下:

1.         <application> 元素Q包?/span> AIR 命名I间属性:

<application xmlns="http://ns.adobe.com/air/application/1.5"> 该命名空间的最后一部分“1.5 指定了应用程序所需的运行时?/span>

本?/span>

2.         <id> 元素Q?/span>

<id>examples.html.HelloWorld</id> 应用E序 ID 与发布?/span> ID Q?/span>AIR 从对应用E序包进行签名时使用的证书中获取Q一?/span>

可以标识唯一的应用程序。徏议采用的形式Z点分隔的反向 DNS 样式的字W串Q如 "com.company.AppName"。应用程

?/span> ID 可用于安装、访问专用应用程序文件系l存储目录、访问专用加密存储以及应用程序间的通信?/span>

3.         <version> 元素Q?/span>

<version>0.1</version> 可帮助用L定安装哪个版本的应用E序?/span>

4.         <filename> 元素Q?/span>

<filename>HelloWorld</filename> 用于操作pȝ中应用程序可执行文g、安装目录和对应用程序的其它引用的名U?/span>

5.         包含下列子元素的 <initialWindow> 元素Qؓ初始应用E序H口指定属性:

<content>HelloWorld.html</content> 标识 AIR 要加载的?/span> HTML 文g?/span>

<visible>true</visible> 使窗口立卛_见?/span>

<width>400</width> 讄H口宽度Q以像素为单位)?/span>

<height>200</height> 讄H口高度?/span>

创徏入口HTML

新徏“HelloWorld.html”内容如下Q?/span>

<html>

<head>

<title>Hello World</title>

</head>

<body >

<h1>Hello World</h1>

</body>

</html>

HTML很简单,q里不多说了。到q里我们?/span>Air应用q写完成了Q下面让我们调试q行一下?/span>

调试q行Air应用

?/span>Dos命o行下q入“D:/airApps/HelloWorld”Q然后?/span>adl命oq行高度。命令如下:

adl application.xml

看看q行l果Q?/span>

 

打包和分?/span>

?/span>Air应用打包之前需?/span>Air的证书,Air证书有两U,一U是Air颁发的,另一U是自签名证书,q种证书我们可以直接通过命o行生成ƈ使用Q自{֐证书打包的应用在安装时不会显C机构名Uͼ如下图所C:

 

但作为学习自{֐证书q是比较适用的,下面介一下自{֐证书的生成?/span>

 

生成证书

命o格式说明Q?/span>adt -certificate -cn name [-ou org_unit][-o org_name][-c country] key_type pfx_file password

-cn name 分配的作为新证书公共名称的字W串?/span>

-ou org_unit 分配的作书颁发组l单位的字符丌Ӏ(可选。)

-o org_name 被分配作书颁发组l的字符丌Ӏ(可选。)

-c country 双字?/span> ISO-3166 国家地区代码。如果提供的代码无效Q则不会生成证书。(可选。)

key_type 用于证书的密钥类型,?#8220;1024-RSA ?#8220;2048-RSA”?/span>

pfx_file 证书文g的生成\径?/span>

password 新证书的密码。当使用此证书对 AIR 文g{֐旉要提供密码?/span>

例如本程序证书用以下命令生成:

adt -certificate -cn HelloWorld -ou it.kedacom.com -o KEDACOM 2048-RSA HelloWorld.p12 kedacom

打包分发

证书生成之后我们可以进行打包了Q?/span>

adt –package -tsa none -storetype pkcs12 -keystore HelloWorld.p12 HelloWorld.air application.xml HelloWorld.html

pȝ提C您输入生成证书时的密码Q?/span>kedacom?/span>

HelloWorld.air 参数表示 ADT 生成?/span> AIR 文g?/span>HelloWorld-app.xml 表示应用E序描述W文件。后面的参数表示?/span>

用程序所使用的文件。此CZ仅用了两个文gQ但可以包含L数量的文件和目录?/span>

xQ我们的应用已l完成了Q您可以通过双击生成?/span>.air安装包来安装我们的应用?/span>

用命令行工具q行打包q是比较J琐的,推荐使用Aptana Studio来开?/span>Air应用Q项目创建、证书的生成、打包都有图形化工具可以使用?/span>

Aptana Studio下蝲地址Q?/span>http://www.aptana.org/studio/download



]]>
Flex 开发入?/title><link>http://www.aygfsteel.com/xiaomage234/archive/2011/04/25/348972.html</link><dc:creator>马?/dc:creator><author>马?/author><pubDate>Mon, 25 Apr 2011 05:53:00 GMT</pubDate><guid>http://www.aygfsteel.com/xiaomage234/archive/2011/04/25/348972.html</guid><wfw:comment>http://www.aygfsteel.com/xiaomage234/comments/348972.html</wfw:comment><comments>http://www.aygfsteel.com/xiaomage234/archive/2011/04/25/348972.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/xiaomage234/comments/commentRss/348972.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/xiaomage234/services/trackbacks/348972.html</trackback:ping><description><![CDATA[<p sizset="75" sizcache="22"><a name="N10047"><span id="wmqeeuq" class="atitle">开始之?/span></a></p> <p>Flex 作ؓ?Internet 应用QRIAQ时代的新技术代表,自从 2007 q?Adobe 公司其开源以来,Flex ׃前所未有的速度在成ѝ很多公司,包括 IBM 都纷U加入了 Flex 开发的阵营当中。很多开发h员也按捺不住 Flex ?#8220;诱惑”而准备从?Flex 开发。本文主要讲q?Flex 开发的基础知识Q主要是关于开发环境的搭徏Q以及介l简单的 Flex 目创徏、编码、调试以及部|的q程?Flex ~程的基本知识。通过本文的学习,您将会学习如何搭?Flex 基本的开发环境以及开发、调试和部v斚w的基知识。ؓ您以后深入系l的学习 Flex 打下良好的基?/p> <p>要学习本文,您需要有一定的 Web ~程l验?Eclipse FireFox 使用l验?/p> <p sizset="76" sizcache="22"><a name="N10052"><span id="wmqeeuq" class="smalltitle">代码CZ和安装要?/span></a></p> <p sizset="77" sizcache="22">本文所有示例均?Windows XP SP3 pȝ中测试完成。您需要一台能畅q行 Windows XP pȝ的机器,除此之外您还需要一些工h能试用本文中的代码。所有这些工具都可以免费下蝲Q参?<a >参考资?/a>Q:</p> <ul> <li>Java SDK 1.5 或更高版? <li>Tomcat 6.0 或更高版? <li>Eclipse 3.3 或更高版? <li>Flex Builder 3.0 或更高版? <li>FireFox2.0 或更高版?</li> </ul> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top" sizset="78" sizcache="22"><a class="ibm-anchor-up-link" >回页?/a></p> <p sizset="79" sizcache="22"><a name="N10071"><span id="wmqeeuq" class="atitle">安装配置开发环?/span></a></p> <p>接下来我们便q不及待的开始吧Q首先搭建我们的开发环境,Z减少因ؓ环境不一致而引L问题Q徏议读者用与本文相同的Y件版本:</p> <ul sizset="80" sizcache="22"> <li sizset="80" sizcache="22"><a >下蝲</a> q安?JDK( 本文使用版本?Sun JDK 6) Q? <li sizset="81" sizcache="22"><a >下蝲</a> q解?Eclipse( 本文使用版本?Eclipse Ganymede J2EE 版本Q含 WTP 插g ); <li sizset="82" sizcache="22"><a >下蝲</a> q安?Flex Builder Eclipse 插g?( 本文使用?Flex Builder 版本?3.0.1); <li sizset="83" sizcache="22"><a >下蝲</a> q安?Tomcat( 本文使用版本?Tomcat6.0.18); <li sizset="84" sizcache="22"><a >下蝲</a> q安?FireFox( ׃ Flex3.0 和一些插件的兼容性问题,本文使用 FireFox2.0.0.17) </li> </ul> <div id="wmqeeuq" class="ibm-container ibm-alt-header dw-container-sidebar"> <h2>提C?/h2> <div id="wmqeeuq" class="ibm-container-body"> <p>Flex Builder 提供两个版本Q一个是 All in one 的版本,另外一个是 Eclipse 的插件版QAll in one 的版本内|了一?Eclipse 的基本核心,插g不全。所以我们采用单独下?Eclipse 和安?Flex Builder 插g版的方式。另外在安装q程中不要安?FlashPlayer ?IE 或?FireFox 上。我们在接下来的步骤中将单独安装 debug 版本?Flash Player ?/p> </div> </div> <p>大家知道 Flex 代码~译后是一?SWF 文gQ运行在 Flash Player 中,要想看到 SWF 文g在运行时输出的一些调试信息是比较困难的。所以在安装好基本的软g之后Q我们要安装一些便于我们调?Flex ?FireFox 插gQ?/p> <p sizset="85" sizcache="22"><a >下蝲</a> q安?debug 版本?FireFox Flash Player 插g ( 本文使用的版本ؓ Flash Player10)</p> <p sizset="86" sizcache="22">打开 FireFoxQ到 FireFox ?<a >扩展lg站点</a> 上搜索ƈ安装 HttpFoxQFlashTracerQCache Status 三个插gQ如?1 所C?/p> <br /> <a name="N100BD"><strong>?1Q开发调试需要的 FireFox 插g</strong></a><br /> <img height="333" alt="?1Q开发调试需要的 FireFox 插g" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image001.jpg" width="572" /> <br /> <div id="wmqeeuq" class="ibm-container ibm-alt-header dw-container-sidebar"> <h2>提C?/h2> <div id="wmqeeuq" class="ibm-container-body"> <p>?Debug 版本?Flash player ?FlashTracer 插g完成好之后,我们发现 FlashTracer q不能正常的昄?trace 语句输出的调试信息。ؓ了其能够工作,q需要先点击?1 中的 FlashTracer 讄按钮来设|日志文件的输出路径。ƈ且输出的日志文g路径对于 Windows XP 来说必须?C:\Documents and Settings\Administrator\Application Data\Macromedia\Flash Player\Logs\flashlog.txt ?/p> </div> </div> <p>在安装了 Debug 版本?Flash Player 之后QFlash Tracer 能显C您在程序中?trace() 语句输出的调试信息,HttpFox 插g不仅能查?HTTP 通信的过E和数据Q还能看到哪些内Ҏ?Cache 里面d的。另外,Cache Status 插g可以让我们方便的理~存。在 Flex 开发过E中Q往往需要先清除掉缓存中的内容,才能看到新改动的效果?/p> <p>接下来我们打开 Flex Builder, 在菜?strong>Window>Preferences>Server>Runtime Environment</strong>中设|我们的 Tomcat6 以及在菜?strong>Window>Preferences>General>Web Browser</strong>中设|浏览器为外部浏览器 FireFoxQ如?2 和图 3 所C:</p> <br /> <a name="N100E4"><strong>?2Q配|?Tomcat</strong></a><br /> <img height="380" alt="?2Q配|?Tomcat" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image002.jpg" width="572" /> <br /> <br /> <a name="N100F4"><strong>?3Q设|默认浏览器</strong></a><br /> <img height="325" alt="?3Q设|默认浏览器" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image003.jpg" width="483" /> <br /> <p>到此为止Q我们的开发环境算是彻底搭建完毕,可以看出q个q程q不是特别单。别急,先苦后甜Q小憩一下,让我们来享受一?Flex 开发带来的乐趣吧!</p> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top" sizset="90" sizcache="22"><a class="ibm-anchor-up-link" >回页?/a></p> <p sizset="91" sizcache="22"><a name="N10105"><span id="wmqeeuq" class="atitle">Flex ?Hello World Q?/span></a></p> <p sizset="92" sizcache="22"><a name="N1010A"><span id="wmqeeuq" class="smalltitle">创徏目</span></a></p> <p>打开 Flex Builder, 如图 4 所C,新徏一?Flex 目Q?/p> <br /> <a name="N10115"><strong>?4Q新?Flex 目</strong></a><br /> <img height="455" alt="?4Q新?Flex 目" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image004.jpg" width="407" /> <br /> <p sizset="94" sizcache="22">在图 5 所C|页面中Q我们选择目cd?Web applicationQ关?AIR cd应用的基知识可参?developerWorks 上的另一文?a >《?Adobe AIR ?Dojo 开发基?Ajax ?Mashup 应用?/a>?Application server type 我们?J2EE ZQƈ且不要钩?Use remote object access service, 关于q些高内容Q我们将在后l的文章中陆l讨论。最后我们?Eclipse Ganymede J2EE 版本内置?WTP(Web Tools Platform) 来创Z个后端?Java 前端使用 Flex ?RIA 目。在默认讄下,src ?Java 代码的源代码文g夏V?/p> <br /> <a name="N1012C"><strong>?5Q设|?Flex 目</strong></a><br /> <img height="375" alt="?5Q设|?Flex 目" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image005.jpg" width="381" /> <br /> <p>在后l的讄面中,我们配置目q行时的 J2EE server 为我们在安装配置开发环境部分中配置?Tomcat6 如图 6 所C:</p> <br /> <a name="N1013F"><strong>?6Q配|运行时 J2EE Server</strong></a><br /> <img height="415" alt="?6Q配|运行时 J2EE Server" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image006.jpg" width="567" /> <br /> <p>点击 NextQ在下一个页面中一切都按照默认讄卛_。如?7 所C,Main source folder 是设|默认的 flex 代码 ( 包括 mxml ?Action script) 的源文g夹,Main application file 是项目默认的d用?Out folder URL 是项目运行在我们配置?Tomcat 上时?URL.</p> <br /> <a name="N10152"><strong>?7Q其他属性设|?/strong></a><br /> <img height="366" alt="?7Q其他属性设|? src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image007.jpg" width="572" /> <br /> <p>一切完成之后,我们来看看项目的l成l构Q如?8 所C:flex_src 中是默认?flex 源码位置Qflex_libs 则是存放 flex 其他W三方包的默认\径。类g web 应用?lib 文g夏V?src ?java 代码位置?WebContent 文g夹的l构和普通由 WTP 建立?Web Project 的结构完全相同。在默认的输\?bin-debug 文g夹中Q我们可以看?Flex builder 自动生成?FlexSample.mxml 文g已经被自动编译成 FlexSample.swf 文g?/p> <br /> <a name="N10165"><strong>?8QFlex 目l构</strong></a><br /> <img height="458" alt="?8QFlex 目l构" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image008.jpg" width="269" /> <br /> <p>接下来,我们在新创徏的项目上增加一点内容ƈ让它q行hQ双?FlexSample.mxml, 在其中添加一个最基本?Flex lg :Label, q且在该应用初始化的时候调?init() Ҏ。我们在 init() Ҏ中用 trace() 语句输出调试信息。代码如下清?1 所C:</p> <br /> <a name="N10179"><strong>清单 1QFlexSample.mxml</strong></a><br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="0" sizcache="2"> <tbody sizset="0" sizcache="1"> <tr> <td class="code-outline"> <pre class="displaycode"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="init()"> <mx:Script> <![CDATA[ private function init():void { var i:int = 0; i++; trace("i="+i); } ]]> </mx:Script> <mx:Label text="Hello World!" /> </mx:Application> </pre> </td> </tr> </tbody> </table> <br /> <p sizset="100" sizcache="22"><a name="N10180"><span id="wmqeeuq" class="smalltitle">q行、调试以及部|?/span></a></p> <p>现在Q终于到了让我们的项目运行的时候了 ! 右键点击目 ->Run As->Run On Server 如图 9 所C:接下来的几个面选择默认卛_Q这时大家我们可以看到项目会被部|到我们配置?Tomcat6 上去。ƈ?Flex Builder 会自动打开一个我们刚才配|的外部 FireFox H口?/p> <br /> <a name="N1018B"><strong>?9Q运行项?/strong></a><br /> <img height="140" alt="?9Q运行项? src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image009.jpg" width="580" /> <br /> <p>但可能o您遗憄?Flex Builder 自动打开?FireFox H口打开?URL: http://localhost:8080/FlexSample/ 却什么也没有。别着急,q剩下最后一步:</p> <p>如图 10 所C:右键点击我们要运行的 FlexSample.mxml > Run As > Flex Application</p> <br /> <a name="N101A1"><strong>?10Q运?mxml</strong></a><br /> <img height="116" alt="?10Q运?mxml" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image010.jpg" width="572" /> <br /> <p>如果不出意外的话Q您应该会看C面的界面QFlash Tracer 插g输出了我们用 trace() 语句输出?debug 信息Q标{ Hello World Q也被显C到了界面上。同P打开 FireFox ?HttpFox 插gQ我们也可以看到在运行时 FlexSample.swf 被蝲入?/p> <br /> <a name="N101B4"><strong>?11Q运行后的界?/strong></a><br /> <img height="149" alt="?11Q运行后的界? src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image011.jpg" width="572" /> <br /> <p>如果我们希望像调?Java 代码那样Q在q行时观察变量的值怎么办呢Q首先我们像?Java 代码中设|断点一L我们?Action Script 代码增加断点。如?12 所C:</p> <br /> <a name="N101C7"><strong>?12Q在 Action Script 代码中设|断?/strong></a><br /> <img height="307" alt="?12Q在 Action Script 代码中设|断? src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image012.jpg" width="367" /> <br /> <p>然后选择我们?FlexSample.mxml 右键选择调试q行。如?13 所C:</p> <br /> <a name="N101DA"><strong>?13Q调试方式运?flex</strong></a><br /> <img height="82" alt="?13Q调试方式运?flex" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image013.jpg" width="510" /> <br /> <p>然后我们随提C切换到 Flex 的调试视图,׃看到我们可以?Java 调试模式那样L的调?Flex 代码。如?14 所C:</p> <br /> <a name="N101ED"><strong>?14QFlex Builder 调试视图</strong></a><br /> <img height="512" alt="?14QFlex Builder 调试视图" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image014.jpg" width="354" /> <br /> <p>利用 WTPQ我们可以将目 export 成一个标准的 war file. 导出的 war 文g攑ֈ Tomcat ?webapps 目录或者其?web 服务器的相应目录下就可以当作一个标准的 web 应用来部|运行?/p> <p>到此为止Q我们应该庆一下我们已l迈入了 Flex 的大门了Q我们已l编译出了我们自q swf 文gQƈ且运行在服务器上了。熟悉了q个开发过E之后,让我们乘胜前q,l合一个小例子学习一?Flex 的编E基知识吧!</p> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top" sizset="107" sizcache="22"><a class="ibm-anchor-up-link" >回页?/a></p> <p sizset="108" sizcache="22"><a name="N10201"><span id="wmqeeuq" class="atitle">Flex ~程基础</span></a></p> <p sizset="109" sizcache="22"><a name="N10206"><span id="wmqeeuq" class="smalltitle">面向对象的编E?/span></a></p> <p>在上?Hello World 的例子中我们可以看出Q就像在 HTML 中嵌?JavaScript 那样Q我们可以在 mxml 里面嵌入 Action Script 代码来实C务逻辑。没错!如果您把 Flex ?mxml ?Action Script 的关pȝ解ؓ Html ?JavaScript 的关p,您会忽然发现您对 Flex 变的如此熟悉Q?/p> <p>Action Script 语言是面向对象的脚本语言Q它q编写方式都?JavaScript 非常的相伹{除了可以嵌套在 mxml 里面之外Q它q可以像 JavaScript 写在单独?.js 文g里面那样写在单独?.as 文g里面Q然后在 mxml 里面引入它?/p> <p>下面我们新徏一?Action Script 的类 J2eeServer.as 如清?2 所C:</p> <br /> <a name="N10218"><strong>清单 2QJ2eeServer.as</strong></a><br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="1" sizcache="2"> <tbody sizset="1" sizcache="1"> <tr> <td class="code-outline"> <pre class="displaycode"> package com.ibm.flex { import flash.events.EventDispatcher; import mx.rpc.AsyncToken; import mx.rpc.events.FaultEvent; import mx.rpc.events.ResultEvent; import mx.rpc.http.HTTPService; public class J2eeServer extends EventDispatcher { public function J2eeServer() { } public function sendRequest(locale:String):void { var httpObject:HTTPService = new HTTPService(); httpObject.resultFormat = "text"; httpObject.url = "http://localhost:8080/FlexSample/SampleServlet?locale="+locale; var responder:mx.rpc.Responder = new mx.rpc.Responder(onSuccess, onFault); var call:AsyncToken = httpObject.send(); call.addResponder(responder); } private function onSuccess(event:ResultEvent):void { this.dispatchEvent(event); } private function onFault(event:FaultEvent):void { trace("communication failed!"); this.dispatchEvent(event); } } } </pre> </td> </tr> </tbody> </table> <br /> <p>在这个类定义里面Q熟?Java 的开发h员可以看出其~码规范?Java 非常cM。在其中我们定义了一?sendRequest() ҎQ?使用 HTTPService 对象发v一?http ?get h , q且对于不同的返回结果我们定义了 onSuccess() ?onFault() 两个Ҏd理。在q两个结果处理方法中Q我们将事g dispatch 出去?/p> <p sizset="111" sizcache="22"><a name="N10222"><span id="wmqeeuq" class="smalltitle">?Servlet 集成</span></a></p> <p>?J2eeServer.as 中,我们通过 Action Script 发出 http hQ现在我们定义一个服务器端的 servlet 来处理该h。如清单 3 所C:</p> <br /> <a name="N1022E"><strong>清单 3QSampleServlet.java</strong></a><br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="2" sizcache="2"> <tbody sizset="2" sizcache="1"> <tr> <td class="code-outline"> <pre class="displaycode"> package com.ibm.sample; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SampleServlet extends HttpServlet { private static final long serialVersionUID = 1L; public SampleServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String locale = request.getParameter("locale"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("The locale you selected is " + locale); } } </pre> </td> </tr> </tbody> </table> <br /> <p>和普?web 应用一样配|?web.xml, 如清?4</p> <br /> <a name="N1023B"><strong>清单 4Qweb.xml</strong></a><br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="3" sizcache="2"> <tbody sizset="3" sizcache="1"> <tr> <td class="code-outline"> <pre class="displaycode"> <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <display-name>FlexSample</display-name> <servlet> <display-name>SampleServlet</display-name> <servlet-name>SampleServlet</servlet-name> <servlet-class>com.ibm.sample.SampleServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SampleServlet</servlet-name> <url-pattern>/SampleServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>FlexSample.html</welcome-file> </welcome-file-list> </web-app> </pre> </td> </tr> </tbody> </table> <br /> <p sizset="114" sizcache="22"><a name="N10242"><span id="wmqeeuq" class="smalltitle">事g驱动与数据绑?/span></a></p> <p>?J2eeServer.as 中我们依E可以看出 Flex 事g驱动的媄子。的,Flex 的业务流E大多是靠事件来驱动的。某一个方法结束后Qdispatch 出去一个事件。事件的监听者监听到q个事g后就会采取相应的动作来处理事件。如清单 5 所C:我们?init() Ҏ中进行了事gl定Q绑定了两个监听Ҏ successHandler () ?errorHandler () ?J2eeServer 上。当 J2eeServer 完成和服务器?servlet 通信 dispatch 出相应的事g后,两个监听Ҏ便会监听到相应的事gq进行处理?/p> <p sizset="115" sizcache="22">Flex 的另外一个重要的特点是支持数据l定Q在另一文?a >《?Eclipse ?JavaFX 开?Mashup 应用?/a>中我们曾介绍?JavaFx 的数据绑定特性,同样 Flex 也支持数据绑定。当数据源被l定到另外一个对象的某属性上Ӟ数据源的数据如果发生变化Q开发h员不需要写额外的代码该对象的属性值就可以相应的变化。如清单 5 中所C:如果要进行数据绑定,则要先定义一个可l定的数据源Q例如我们在变量<code> <strong>private</strong> </code><code></code><code><strong>var</strong> </code><code>serverResponse:String =</code> <code><strong>""</strong> </code><code>;</code>的上面设|?[Bindable] 属性,表示其ؓ可绑定变量。然后我们在 resultLable 中用花括号 {<code>serverResponse</code>} 变?code>serverResponse</code>l定?resultLable ?text 属性上?/p> <br /> <a name="N1027E"><strong>清单 5QFlexSample.mxml</strong></a><br /> <table cellspacing="0" cellpadding="0" width="100%" border="0" sizset="4" sizcache="2"> <tbody sizset="4" sizcache="1"> <tr> <td class="code-outline"> <pre class="displaycode"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; import com.ibm.flex.J2eeServer; import mx.collections.ArrayCollection; private var jserver:J2eeServer = new J2eeServer(); //可绑定变? [Bindable] private var serverResponse:String = ""; //可绑定变? [Bindable] private var locales:ArrayCollection = new ArrayCollection( [ {label:"en_us", data:"en_us"}, {label:"zh_cn", data:"zh_cn"}]); private function init():void { //事gl定 jserver.addEventListener(ResultEvent.RESULT, successHandler); jserver.addEventListener(FaultEvent.FAULT, errorHandler); } private function localeComboxChangeHandler(event:Event):void { jserver.sendRequest(localeCombox.selectedItem.data); } private function successHandler(event:ResultEvent):void { serverResponse = event.result.toString(); trace(event.result); } private function errorHandler(event:FaultEvent):void { serverResponse = event.message.toString(); trace(event.message); } ]]> </mx:Script> <mx:VBox> <mx:Label text="Select your locale:" /> <mx:ComboBox id="localeCombox" width="160" dataProvider="{locales}" change="localeComboxChangeHandler(event)"/> <mx:Label id="resultLabel" text="The response from server is: {serverResponse}" /> </mx:VBox> </mx:Application> </pre> </td> </tr> </tbody> </table> <br /> <p>最l项目的文gl构如图 15 所C:</p> <br /> <a name="N1028A"><strong>?15Q项目文件结构图</strong></a><br /> <img height="417" alt="?15Q项目文件结构图" src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image015.jpg" width="280" /> <br /> <p>q行目Q我们可以看到当我们改变下拉框的值的时候,会触?localeComboxChangeHandler() 函数调用 J2eeServer ?sendRequest() Ҏ选择?locale 值发送给服务器端?servletQƈ且在l果q回后,从服务器端得到?response 昄?resultLable 上。如?16 所C:</p> <br /> <a name="N1029D"><strong>?16Q项目运行结?/strong></a><br /> <img height="166" alt="?16Q项目运行结? src="http://www.ibm.com/developerworks/cn/web/wa-lo-flexdev/image016.jpg" width="510" /> <br /> <div id="wmqeeuq" class="ibm-alternate-rule"> <hr /> </div> <p class="ibm-ind-link ibm-back-to-top" sizset="119" sizcache="22"><a class="ibm-anchor-up-link" >回页?/a></p> <p sizset="120" sizcache="22"><a name="N102AB"><span id="wmqeeuq" class="atitle">l束?/span></a></p> <p>Flex 作ؓ RIA 的新技术,对传l?web 开发技术有l承也有发展。这文作ؓ入门文,主要作用是帮助大家掌?Flex 的开发环境、开发方式、开发调试部|的程以及 Flex 的基本编E知识。但 Flex 除了国际化、Unit 试、Ant ~译{传l问题之外,作ؓ新技?Flex q有很多不同以往的地方,比如模块开发,RSL(Runtime Shared Libraries), Shared object、和 JavaScript 交互以及它的 MVC 框架 cairngormQ远E调用和消息传递框?BlazeDS {。所有这些问题都是值得我们q行后箋讨论的?/p> <p sizset="121" sizcache="22"><a name="N102B3"><span id="wmqeeuq" class="smalltitle">致谢</span></a></p> <p>在本文完成之际,特别感谢 IBM 中国软g开发中?IM 开发团队我的同事们在工作和学习中给我的巨大帮助Q?/p> <!-- CMA ID: 362440 --><!-- Site ID: 10 --><!-- XSLT stylesheet used to transform this file: dw-article-6.0-beta.xsl --><br /> <p sizset="122" sizcache="22"><a name="resources"><span id="wmqeeuq" class="atitle">参考资?</span></a></p> <p><strong>学习</strong></p> <ul sizset="123" sizcache="22"> <li sizset="123" sizcache="22">“<a >Flex 3 Developer's Guide</a>”Q很好的 Flex 基础知识入门材料?<br /> <br /> <li sizset="124" sizcache="22">“<a >Flex Developer Center</a>”Q针对具体开发场景的大量CZ代码和文章?<br /> <br /> <li sizset="125" sizcache="22">“<a >Flex Ant Tasks</a>”Q介l了如何l合 Ant 工具来编?Flex?<br /> <br /> <li sizset="126" sizcache="22">“<a >Flex RSL</a>”Q对Flex RSL开发的各方面进行详l介l的官方文档?<br /> <br /> <li sizset="127" sizcache="22">“<a >集成 Flex ?Ajax 应用E序</a>”QdeveloperWorksQ?008 q?7 月)Q阅d本文后,您将能够利用通过 Flash 资源获得的丰富功能?br /> <br /> <li sizset="128" sizcache="22">“<a >使用 Flex SDK 实现一?Facebook 相册</a>”QdeveloperWorksQ?008 q?12 月)Q在本篇教程中,在 Adobe Flex 中开发一?Facebook 应用E序Q它可以以灯片的Ş式显C用L Facebook 相册?br /> <br /> <li sizset="129" sizcache="22">“<a >Fluint 的官方站?/a>”QFluint ?Flex Unit Test 的框?Flex Unit 的升U版本?<br /> <br /> <li sizset="130" sizcache="22">“<a >Cairngorm 框架?Adobe 官方站点</a>”QCairngorm ?Flex 开发最著名和最成熟的一?MVC 框架?<br /> <br /> <li sizset="131" sizcache="22">“<a >BlazeDS 框架的开源站?/a>”QBlazeDS ?Adobe 的一个开源项目。基于服务器?Java q程调用QremotingQ和 Web 消息传递(messagingQ技术,它能够得后台的 Java 应用E序和运行在览器上?Flex 应用E序?AIR 应用E序怺通信?<br /> <br /> </li> </ul> <p><strong>获得产品和技?/strong></p> <ul sizset="132" sizcache="22"> <li sizset="132" sizcache="22"><a >下蝲</a> JRE ?JDK?<br /> <br /> <li sizset="133" sizcache="22"><a >下蝲</a> Eclipss Ganymede?<br /> <br /> <li sizset="134" sizcache="22"><a >下蝲</a> Flex Builder Eclipse 插g版?<br /> <br /> <li sizset="135" sizcache="22"><a >下蝲</a> Tomcat 6?<br /> <br /> <li sizset="136" sizcache="22"><a >下蝲</a> FireFox 2.0?<br /> <br /> <li sizset="137" sizcache="22"><a >下蝲</a> BDebug 版本?FireFox Flash Player 插g?<br /> <br /> </li> </ul> <p sizset="138" sizcache="22"><a name="author"><span id="wmqeeuq" class="atitle">关于作?/span></a></p> <div id="wmqeeuq" class="ibm-container ibm-portrait-module ibm-alternate-two" sizset="139" sizcache="22"> <div id="wmqeeuq" class="ibm-container-body" sizset="139" sizcache="22"> <p sizset="139" sizcache="22"><a name="author1"></a>刘庆Q目前在 IBM 软g开发中心(IBM CSDLQIM 开发团队担d发工E师Q拥?IBM DB2 DBA 专业认证Q他?J2EE ?Web 开发领域有着多年开发经验,喜欢x新技术。他毕业于中国科技大学Qƈ拥有士学位?/p> </div> </div> <img src ="http://www.aygfsteel.com/xiaomage234/aggbug/348972.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/xiaomage234/" target="_blank">马?/a> 2011-04-25 13:53 <a href="http://www.aygfsteel.com/xiaomage234/archive/2011/04/25/348972.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>flash 9e版[9.0.115]以及以后版本需要注意的事项http://www.aygfsteel.com/xiaomage234/archive/2007/12/21/169483.html马?/dc:creator>马?/author>Fri, 21 Dec 2007 15:55:00 GMThttp://www.aygfsteel.com/xiaomage234/archive/2007/12/21/169483.htmlhttp://www.aygfsteel.com/xiaomage234/comments/169483.htmlhttp://www.aygfsteel.com/xiaomage234/archive/2007/12/21/169483.html#Feedback2http://www.aygfsteel.com/xiaomage234/comments/commentRss/169483.htmlhttp://www.aygfsteel.com/xiaomage234/services/trackbacks/169483.html 依次为:2049,4045,6000
同样Qfirefox也限定了对这些端口的讉K?br /> 所以在hq些端口的资源时Q如果发现找不到的现象,h到其他端口再试?br />
被屏蔽的端口列表Q?br /> Port Service 

  1 tcpmux   7 echo    9 discard  11 systat 

  13 daytime 15 netstat 17 qotd   19 chargen 

  20 ftp data  21 ftp control 22 ssh  23 telnet 

  25 smtp    37 time    42 name  43 nicname 

  53 domain 77 priv-rjs 79 finger  87 ttylink 

  95 supdup 101 hostriame 102 iso-tsap  103 gppitnp 

  104 acr-nema  109 pop2  110 pop3  111 sunrpc 

  113 auth  115 sftp  117 uucp-path  119 nntp 

  123 NTP  135 loc-srv / epmap  139 netbios 

  143 imap2  179 BGP  389 ldap  512 print / exec 

  513 login  514 shell  515 printer  526 tempo 

  530 courier  531 chat  532 netnews  540 uucp 

  556 remotefs  587  601                2049 nfs 

  4045 lockd  6000 X11

]]>
վ֩ģ壺 | | | | | ˫| | Ȫ| ԫ| | | | ³| | ӱ| ٽ| | ˷| | | | | ¹| | ɽ| ̨| | | | | | | ͼ| ף| կ| | ¦| | ʡ| ƽ| dz|