日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
專家推薦經(jīng)典Flex學(xué)習(xí)入門教程

本文和大家重點討論一下Flex學(xué)習(xí)過程中的一些基礎(chǔ)知識,通過本文的學(xué)習(xí),你可以創(chuàng)建你的第一個Flex應(yīng)用程序,并將它與你以前所熟悉的Web開發(fā)技術(shù)進行比較,以領(lǐng)會Flex的內(nèi)涵和精髓。

10年的池州網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。營銷型網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整池州建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)公司從事“池州網(wǎng)站設(shè)計”,“池州網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。

Flex是如何工作的

該部分文檔的內(nèi)容是為用戶提供關(guān)于Adobe?Flex工作機制的一個快速綜述。通過本章節(jié)的學(xué)習(xí),你可以創(chuàng)建你的第一個Flex應(yīng)用程序,并將它與你以前所熟悉的Web開發(fā)技術(shù)進行比較,以領(lǐng)會Flex的內(nèi)涵和精髓。

Flex學(xué)習(xí)第一節(jié):構(gòu)建并運行Flex應(yīng)用程序

Flex是一個提供開發(fā)設(shè)計和運行支持的架構(gòu),它可以使開發(fā)人員創(chuàng)建利用Adobe?
Flash?Player9作為前臺的“富客戶端互聯(lián)網(wǎng)應(yīng)用程序/richInternetapplications/RIA”,以滿足用戶更為直觀和極具交互性的在線體驗。

◆開發(fā)Flex應(yīng)用程序的典型步驟如下(通常是這樣):

1.選取一系列預(yù)先定制好的、用于設(shè)計應(yīng)用程序界面的組件(如表格、按鈕等等)
2.布置組件以設(shè)計用戶界面。
3.使用樣式和主題來增強視覺方面的設(shè)計。
4.添加動態(tài)行為(例如程序部件之間的相互作用)。
5.定義并連接所需的數(shù)據(jù)庫服務(wù)。
6.將源代碼編譯成SWF文件,然后在FlashPlayer中運行。

◆Flex學(xué)習(xí)手冊中一個典型的Flex應(yīng)用程序包括如下元素:

1.Flexframework

Adobe?Flex2framework包含了創(chuàng)建RIA所需要的所有組件,它們是:用于應(yīng)用程序布局規(guī)劃的容器;針對用戶界面和從用戶處獲取數(shù)據(jù)的控制(例如文本框和按鈕);廣泛支持的數(shù)據(jù)綁定、數(shù)據(jù)格式化、以及有效值驗證;事件驅(qū)動的開發(fā)模式。Flexframework被包含在公用組件庫(SWC)文件中。

2.MXML

每個Flex應(yīng)用程序至少包含有一個MXML文件,它被作為該程序的主文件。MXML是一種標(biāo)記語言,它是基于XML的一種實現(xiàn),用來創(chuàng)建Flex應(yīng)用程序。你可以使用它去聲明程序中所使用的標(biāo)簽結(jié)構(gòu)的定義。

3.ActionScript3.0

你可以使用ActionScript3.0為應(yīng)用程序添加動態(tài)行為,它是基于ECMAScript的一種實現(xiàn),類似于JavaScript。你可以將ActionScript作為一個腳本塊,在MXML文件中直接進行添加;或者創(chuàng)建一個單獨的ActionScript文件,然后將它們導(dǎo)入到MXML文件中。

4.CSS

你可以通過設(shè)置組件的屬性(properties)來改變組件(按鈕、列表框等)的視覺樣式。
例如,按鈕組件有一個fontFamily屬性,你可以使用它來進行字體的設(shè)置。樣式的屬性通常有四種方法來進行控制:通過主題(theme);在CSS文件中進行定義;在MXML文件中的樣式塊中進行定義;在組件的實例中進行設(shè)置。

5.圖形資源

與很多應(yīng)用程序一樣,F(xiàn)lex包含了各種各樣的圖形資源,如圖標(biāo)和圖象。

6.數(shù)據(jù)

一些組件被使用來進行數(shù)據(jù)顯示(combobox或者datagrid)的工作。同時,你還可以使用各種方式來將這些組件與數(shù)據(jù)聯(lián)系起來,如使用數(shù)組、收集對象、數(shù)據(jù)模型、以及外部XML數(shù)據(jù)資源,等等。

Flex應(yīng)用程序是如何編譯和發(fā)布的:

所有的元素都被編譯或連接到你的Flex應(yīng)用程序中。Flex應(yīng)用程序被編譯成一個SWF文件,然后在FlashPlayer下運行。當(dāng)一個源代碼被編譯時,它就被轉(zhuǎn)換成ActionScript類(譯者注:這正是Flex精髓的地方之一,即提供從MXML到ActionScript的轉(zhuǎn)換),并與圖形和其它資源合并到SWF文件里。在運行時,SWF文件與所需的外部庫、服務(wù)和數(shù)據(jù)源進行交互。

一般的Flex應(yīng)用程序并不需要服務(wù)器端所提供的支持。因此,你可以在你的本地計算機上編譯它們,然后在Web服務(wù)的HTML頁面中發(fā)布給你的用戶。
當(dāng)然,你還可以將Flex與Adobe?FlexDataServices2、ColdFusionFlashRemotingService、或者其它Java和J2EEService服務(wù)器技術(shù)結(jié)合起來,進行B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用程
序的開發(fā)。

MXML:一切開始的地方

你可以在MXML中使用Flex所提供的組件來定義用戶界面。這里有一個主MXML程序文件的例子:

 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  

如果你對XML已經(jīng)很熟悉了,就能一眼識別出這個例子的格式。MXML代碼的頭兩行包含了版本號、編碼、以及命名空間的信息,文檔的主體包含的是程序的具體內(nèi)容。
Flex應(yīng)用程序所有的具體內(nèi)容都被放在標(biāo)簽對中。同時,你還可以在父標(biāo)簽對中嵌套其它的子標(biāo)簽對(譯者注:反正標(biāo)簽是成對出現(xiàn)的,這點一定要記?。?。
該例子創(chuàng)建了一個簡單的程序,它在屏幕上顯示“SayhellotoFlex!”的文字。在該程序中,聲明了TextArea和Button組件,并設(shè)置了它們相應(yīng)的text和label屬性。

備注:在MXML文件中的每個標(biāo)簽都有前綴mx,它是Flex的設(shè)計命名空間。#p#

Flex學(xué)習(xí)第二節(jié):連接數(shù)據(jù)

請記住,在Flex應(yīng)用程序中對數(shù)據(jù)的操作最重要的事情是:Flex應(yīng)用程序并不直接與一個數(shù)據(jù)庫進行連接。因此,Adobe?FlexBuilder2沒有提供直接連接數(shù)據(jù)的工具。你可以通過使用MXML和ActionScript代碼來操作和管理數(shù)據(jù)。

在Flex中,你可以使用幾種方法去操縱和管理數(shù)據(jù),它們大多數(shù)相關(guān)的內(nèi)容已經(jīng)超出了在這里進行簡要介紹的范圍(更多的信息,請查看后面的章節(jié))。不管怎樣,請想象一種可以連接外部數(shù)據(jù)的方法,隨后的例子將演示與XML結(jié)構(gòu)的數(shù)據(jù)進行連接。

數(shù)據(jù)的生成
因為Flex應(yīng)用程序并不直接與一個數(shù)據(jù)庫進行連接,所以你需要使用某種類型的服務(wù)來支持對數(shù)據(jù)的使用。在隨后的例子中,將使用HTTPService組件從PHP所產(chǎn)生的一個XML文件中獲取數(shù)據(jù)。

連接數(shù)據(jù)庫的第一步是生成將在Flex程序中使用到的數(shù)據(jù)。在與PHP的應(yīng)用中,你將采用如下的步驟:

1.創(chuàng)建一個數(shù)據(jù)庫(如MySQL)。

2.編寫一個PHP腳本連接MySQL數(shù)據(jù)庫并生成XML格式的數(shù)據(jù)。
這些步驟同樣適合于在其它工作平臺上生成的數(shù)據(jù)(如ASP.NET、JSP等)。

◆連接外部數(shù)據(jù)源

對于PHP所生成的XML格式數(shù)據(jù),你可以使用HTTPService組件來請求獲取數(shù)據(jù),就象這樣:

 
 
 
  1.  
  2.  
  3. id="productsRequest" 
  4. url="http://www.somesite.com/products.php"/> 
  5. ...  
  6.  

 

HTTPService組件定義了一個請求ID,你將使用這個ID來控制提供數(shù)據(jù)的URL或者服務(wù)器與數(shù)據(jù)之間的綁定。

◆外部數(shù)據(jù)與數(shù)據(jù)驅(qū)動控制的綁定

通過數(shù)據(jù)與數(shù)據(jù)驅(qū)動控制(data-drivencontrol)的綁定,你就可以處理HTTPService的結(jié)果(XML數(shù)據(jù)),就象這樣:

 
 
 
  1. dataProvider="{productRequest.lastResult.products.items}"> 
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  

 

數(shù)據(jù)綁定的語法顯示在數(shù)據(jù)控制的dataProvider屬性中(在波浪形的括號里),它包含了HTTPService請求ID、lastResult方法、以及XML文件的數(shù)據(jù)結(jié)構(gòu)。在這個例子中,XML數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)看起來就象這樣:

 
 
 
  1.  
  2.  
  3.  
  4. MobilePhone 
  5. $199 
  6.  
  7.  
  8. CarCharger 
  9. $34 
  10.  
  11. ...  
  12.  

 

通過設(shè)置dataField屬性,項目數(shù)據(jù)(name和price)作為數(shù)據(jù)柵格中每一列的數(shù)據(jù)。

◆在運行時加載數(shù)據(jù)

你還可以在Flex程序開始運行時加載數(shù)據(jù),就象隨后所示,在HTTPService中向某個特定的URL發(fā)送一個請求:

 
 
 
  1.  
  2. layout="absolute"creationComplete="productsRequest.send()"> 
  3.  

 

當(dāng)你將creationComplete方法添加到應(yīng)用程序標(biāo)簽里后,數(shù)據(jù)會在運行時進行加載并交于數(shù)據(jù)驅(qū)動控制(在這個例子中是數(shù)據(jù)柵格)。
你還可以將HTTPService請求添加到一個控制事件上而不是程序里的標(biāo)簽中,就象如下所示:

 
 
 
  1. click="productsRequest.send();"/> 

Flex提供許多方法去連接、管理、格式化、以及校驗數(shù)據(jù)。你可以通過使用遠(yuǎn)程程序調(diào)用、數(shù)據(jù)服務(wù)、或者其它企業(yè)級技術(shù)來操縱和管理數(shù)據(jù)。#p#

Flex學(xué)習(xí)第三節(jié):關(guān)于FlashPlayer安全性方面的問題

出于安全方面的考慮,在客戶端的FlashPlayer中運行的應(yīng)用程序,只有在滿足如下條件之一的情況時才能訪問遠(yuǎn)程的數(shù)據(jù)源:

1.應(yīng)用程序所編譯的SWF文件與遠(yuǎn)程數(shù)據(jù)源位于同一個域中。

2.使用代理(proxy),并且你的SWF文件位于和代理相同的服務(wù)器上。AdobeFlexDataServices為Flex應(yīng)用程序提供了一個完整的代理管理系統(tǒng)。同時,你還可以通過使用一種web腳本語言,如ColdFusion、JSP、PHP或者ASP來創(chuàng)建一個簡單的代理服務(wù)。

3.安裝crossdomain.xml(跨域策略/cross-domainpolicy)文件在數(shù)據(jù)源的宿主Web服務(wù)器上。crossdomain.xml文件允許位于其它域中的SWF文件對數(shù)據(jù)源的訪問。

第四節(jié)為Flex應(yīng)用程序設(shè)計界面布局

讓我們來詳細(xì)分析一下前面那個“SayHellotoFlex“的簡單例子,你可以通過設(shè)置組件的屬性值來控制Flex應(yīng)用程序的界面布局,就象如下所示:

 
 
 
  1.  
  2.  
  3. layout="absolute"> 
  4.  
  5. right="30"/> 
  6.  
  7.  
  8.  
  9.  

許多容器組件都允許以絕對坐標(biāo)的方式創(chuàng)建布局,這就意義著你可以使用精確的x和y的坐標(biāo)來放置組件。你還可以對應(yīng)其父容器的相對位置來放置組件并約束它們,使它們在應(yīng)用程序的界面放大或縮小時仍然保持其彼此的位置。

在這個例子中,面板/Panel組件的布局屬性被設(shè)置為絕對值方式,同時所有容器的大小都被設(shè)置為應(yīng)用程序的百分之八十。兩個組件(TextArea和Button)被放置到距離面板容器邊界的特定象素位置上。

◆使用風(fēng)格和主題增強視覺方面的設(shè)計

如果樣式/style的屬性值沒有被指定,它們將由整個程序中運行的主題/theme來進行控制。在默認(rèn)情況下,F(xiàn)lex應(yīng)用程序使用Halo主題(就象上面那個例子那樣)。當(dāng)然,你可以修改默認(rèn)的主題或者干脆自己創(chuàng)建一個。你還可以簡單地指定新的樣式定義來改變默認(rèn)的主題樣式,就象這樣:
 

 
 
 
  1.  
  2.  
  3. layout="absolute"> 
  4.  
  5.  
  6. TextArea{  
  7. font-size:36px;  
  8. font-weight:bold;  
  9. }  
  10.  
  11.  
  12. x="122"y="24"> 
  13. left="10"right="30"/> 
  14.  
  15.  
  16.  
  17.  

通過明確地為TextArea組件定義一個樣式,應(yīng)用程序現(xiàn)在看起來就會象這樣了:

在這個例子中,一種新樣式在MXML文件中的標(biāo)簽里進行了定義。如同我們前面所提到過的,你還可以通過修改主題或應(yīng)用新主題、使用一個外部CSS文件、或者設(shè)置單獨的樣式屬性來達(dá)到設(shè)置新樣式的目的。
將一個樣式單導(dǎo)入到MXML文件中,你需要添加如下的代碼:
 

 
 
 
  1.  

#p#Flex學(xué)習(xí)第五節(jié):事件和行為的使用

HTML應(yīng)用程序的原理是由客戶端發(fā)出請求,并從服務(wù)器端得到反應(yīng)。與之不相同的是,F(xiàn)lex應(yīng)用程序是基于事件的/event-based。舉個例子,當(dāng)用戶單擊一個按鈕時,便會觸發(fā)一個事件。應(yīng)用程序本身,不是指服務(wù)器,包含了識別事件的邏輯并采取相應(yīng)的行動。

◆當(dāng)事件被觸發(fā)時修改組件的屬性

對某個組件以編程方式進行操作時,為了對某個事件作出反應(yīng),必須首先要引用它,這時你就需要賦予它一個ID值,如下所示:

隨后你就可以將行為/behavior添加到應(yīng)用程序上,當(dāng)某個事件被觸發(fā)時改變組件的屬性值,就象這樣:
當(dāng)按鈕被單擊時,面板的可見屬性值被設(shè)置為false。

◆使用ActionScript功能函數(shù)

你也可以通過編寫ActionScript功能函數(shù),并在事件中調(diào)用它來達(dá)到相同的目的,在這種情況下,按鈕組件的單擊事件如下所示:
 

 
 
 
  1.  
  2.  
  3. layout="absolute"> 
  4.  
  5.  
  6.  
  7. publicfunctionclose():void{  
  8. myPanel.visible=false;  
  9. }  
  10. ]]> 
  11.  
  12.  
  13.  
  14. height="80%"x="122"y="24"> 
  15.  
  16. left="10"right="30"/> 
  17.  
  18.  
  19.  

ActionScript功能函數(shù)是在MXML文件里的塊中進行定義的,然后引用到按鈕的單擊事件上。

◆單獨的ActionScript代碼

為了從MXML文件中更好地分離出ActionScript代碼,你可以將它們放到單獨的ActionScript文件中而不是作為函數(shù),然后再將它們導(dǎo)入到MXML文件里,如下所示:

 
 
 
  1.  

◆運用行為和變換增強豐富的視覺互動性

Flex應(yīng)用程序是事件驅(qū)動的,這就意味著你可以在程序運行時使用事件去添加豐富的視覺互動性。為了實現(xiàn)它,你使用了一個事件觸發(fā)器,用其來描述一個行為。
在前面的例子中,面板組件的visible屬性值被設(shè)置為false因而不可見。你還可以通過使用行為來制造出更強的視覺效果。
下面的例子創(chuàng)建了一個行為,該行為首先創(chuàng)建好一種效果,然后把它綁定到組件的hideEffect屬性上(觸發(fā)器):
 

 
 
 
  1.  
  2.  
  3. width="80%"height="80%"  
  4. hideEffect="{myFade}"> 

當(dāng)關(guān)閉按鈕被單擊時,面板組件淡出而不是消失。
觸發(fā)器和效果還可以組合到更為復(fù)雜的行為中,其被稱之為變換/transitions。#p#

Flex學(xué)習(xí)第六節(jié):在應(yīng)用程序中添加多態(tài)頁面

有幾種方法在一個Flex應(yīng)用程序中創(chuàng)建多態(tài)頁面。你可以使用ViewStack組件、創(chuàng)建單獨的MXML文件、或者使用視圖狀態(tài)。視圖狀態(tài)可以被看作是一個組件或組件群構(gòu)成的預(yù)定義的用戶界面布局。你可以使用視圖狀態(tài)為程序表現(xiàn)出不同的視覺效果。每一種視圖狀態(tài)都是基于一種基礎(chǔ)的狀態(tài),并進行繼承和擴展。
在隨后的例子中,當(dāng)用戶在組件上滾動鼠標(biāo)時,基礎(chǔ)狀態(tài)發(fā)生變化。

當(dāng)一個視圖狀態(tài)被調(diào)用時(通過用戶的鼠標(biāo)在組件上滾動時產(chǎn)生的事件),一種效果(或一種變換)改變了用戶界面的外觀。
使用視圖狀態(tài)方式、ViewStack方式還是MXML文件方式,取決于你想從一個頁面到另一個頁面進行變化的范圍、用戶界面的復(fù)雜性、以及實現(xiàn)Flex程序的構(gòu)架。

Flex學(xué)習(xí)第七節(jié):開始使用Flex

現(xiàn)在,想必你對Flex的概念有了一個基礎(chǔ)的認(rèn)識,讓我們開始創(chuàng)建Flex應(yīng)用程序吧。

◆使用FlexBuilder

通過使用新項目向?qū)?NewFlexProjectWizard創(chuàng)建一個Flex項目(File>New>FlexProject)。設(shè)計,編譯,以及調(diào)試Flex應(yīng)用程序所需的所有工具,都被包括在FlexBuilder中了。

◆使用FlexSDK

創(chuàng)建一個文件名后綴為MXML的文本文件,在其中添加MXML文件的基本元素(上述例子中的頭兩行代碼),然后使用文檔資料(特別是AdobeFlex2LanguageReference)去研究各種組件的用法。編譯和調(diào)試工具是以命令行的方法提供的。


網(wǎng)站標(biāo)題:專家推薦經(jīng)典Flex學(xué)習(xí)入門教程
網(wǎng)頁鏈接:http://m.5511xx.com/article/ccceoss.html