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

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

新聞中心

這里有您想知道的互聯網營銷解決方案
專家推薦經典Flex學習入門教程

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

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

Flex是如何工作的

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

Flex學習第一節(jié):構建并運行Flex應用程序

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

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

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

◆Flex學習手冊中一個典型的Flex應用程序包括如下元素:

1.Flexframework

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

2.MXML

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

3.ActionScript3.0

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

4.CSS

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

5.圖形資源

與很多應用程序一樣,Flex包含了各種各樣的圖形資源,如圖標和圖象。

6.數據

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

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

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

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

MXML:一切開始的地方

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

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

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

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

Flex學習第二節(jié):連接數據

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

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

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

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

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

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

◆連接外部數據源

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

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

 

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

◆外部數據與數據驅動控制的綁定

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

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

 

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

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

 

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

◆在運行時加載數據

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

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

 

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

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

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

Flex學習第三節(jié):關于FlashPlayer安全性方面的問題

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

1.應用程序所編譯的SWF文件與遠程數據源位于同一個域中。

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

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

第四節(jié)為Flex應用程序設計界面布局

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

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

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

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

◆使用風格和主題增強視覺方面的設計

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

 
 
 
  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組件定義一個樣式,應用程序現在看起來就會象這樣了:

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

 
 
 
  1.  

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

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

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

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

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

◆使用ActionScript功能函數

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

 
 
 
  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功能函數是在MXML文件里的塊中進行定義的,然后引用到按鈕的單擊事件上。

◆單獨的ActionScript代碼

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

 
 
 
  1.  

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

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

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

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

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

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

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

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

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

◆使用FlexBuilder

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

◆使用FlexSDK

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


文章名稱:專家推薦經典Flex學習入門教程
轉載來源:http://www.5511xx.com/article/ccceoss.html