欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

flex 博客閱讀器 實(shí)現(xiàn)代碼

 更新時間:2009年08月04日 16:33:42   作者:  
flex 博客閱讀器的具體實(shí)現(xiàn)代碼,大家可以參考下。

根據(jù)由 劉剛 翻譯的“flex中文幫助”整理而來

為了完成這個項(xiàng)目,執(zhí)行的步驟如下:
1. 設(shè)置項(xiàng)目
2. 檢查要訪問的遠(yuǎn)程數(shù)據(jù)源
    出于安全的原因,在客戶端計算機(jī)上Flash Player 中運(yùn)行的應(yīng)用程序,只有在滿足如下
    條件之一的情況下,才能訪問遠(yuǎn)程的數(shù)據(jù):
    a. 應(yīng)用程序的SWF 文件與遠(yuǎn)程數(shù)據(jù)源位于同一個域中。
    b. 使用代理,同時SWF 文件與代理位于同一個服務(wù)器中。
    c. 在數(shù)據(jù)源的宿主web 服務(wù)器上安裝crossdomain.xml(跨域策略)文件。
    本節(jié)中例子使用的是第三種方法。
插入并配置 blog 閱讀器
在本小節(jié),你將學(xué)習(xí)創(chuàng)建一個blog 閱讀器。
1. 在導(dǎo)航視圖中選擇Lessons 項(xiàng)目,選擇File > New > MXML Application 并創(chuàng)建一個
    叫BlogReader.mxml 的文件。
2. 將BlogReader.mxml 設(shè)置為被編譯的默認(rèn)文件。
3. 在MXML 編輯器的設(shè)計模式下,從組件視圖中拖拉出一個面板容器,并設(shè)置它的相
    應(yīng)屬性值:
    Title: Blog Reader
    Width: 475
    Height: 400
    X: 10
    Y: 10
4. 在設(shè)計模式下,從組件視圖中拖拉出如下組件到面板容器里:
    DataGrid
    TextArea
    LinkButton
5. 使用鼠標(biāo)將控件布置成垂直排列的、左對齊的列。
6. 選擇DataGrid 控件并設(shè)置相應(yīng)屬性:
    Id: dgPosts
    X: 20
    Y: 20
    Width: 400
7. 選擇TextArea 控件并設(shè)置相應(yīng)屬性:
    X: 20
    Y: 175
    Width: 400
8. 選擇LinkButton 控件并設(shè)置相應(yīng)屬性:
    Label: Read Full Post
    X: 20
    Y: 225
    界面布局看起來就象這樣:

   


9. 點(diǎn)擊工具條上的Source button 切換成編輯器源代碼模式。在BlogReader.mxml 文件
   中輸入如下MXML 代碼:
   <?xml version="1.0" encoding="utf-8"?>
   <mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml" layout="absolute">
         <mx:Panel x="10" y="10" width="475" height="400" layout="absolute"
                           title="Blog Reader">
               <mx:DataGrid x="20" y="20" id="dgPosts" width="400">
                      <mx:columns>
                            <mx:DataGridColumn headerText="Column 1" dataField="col1"/>
                            <mx:DataGridColumn headerText="Column 2" dataField="col2"/>
                            <mx:DataGridColumn headerText="Column 3" dataField="col3"/>
                      </mx:columns>
               </mx:DataGrid>
              <mx:LinkButton x="20" y="225" label="Read Full Post"/>
               <mx:TextArea x="20" y="175" width="400"/>
         </mx:Panel>
    </mx:Application>
10. 保存文件, 完成編譯后運(yùn)行。一個瀏覽器窗口將打開, 如下所示。


到這一步,應(yīng)用程序還沒有顯示任何blog 信息。接下來的一步是使用一個稱之為
HTTPService 的RPC 服務(wù)組件來獲取blog 的信息。


插入 HTTPService 組件
對于 blog 閱讀器這個項(xiàng)目,其數(shù)據(jù)源來自于http://www.adobe.com/go/mchotinblog。你
使用HTTPService 組件來訪問blog 的XML。該組件發(fā)送HTTP GET 或POST 請求,并獲取
反饋回來的數(shù)據(jù)。
1. 在源代碼模式下,在<mx:Application>標(biāo)簽中輸入<mx:HTTPService>標(biāo)簽:
<mx:HTTPService
id="feedRequest"
url="
http://weblogs.macromedia.com/mchotin/index.xml"
useProxy="false"/>
url 屬性指明了被請求文件所在的位置。在本例中,該URL 一直是有效的,但是你仍然
需要確定它是否已經(jīng)發(fā)生改變。
useProxy 屬性表明你并不打算在服務(wù)器上使用代理。因?yàn)镸att's blog 上面有
crossdomain.xml 設(shè)置,所以Flash Player 可以訪問該服務(wù)器上的遠(yuǎn)程數(shù)據(jù)。
接下來提示應(yīng)用程序向指定的URL 發(fā)送請求。

2. 在<mx:Application>標(biāo)簽后,添加creationComplete 屬性(粗體顯示):
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
creationComplete="feedRequest.send()" >
你的應(yīng)用程序每次啟動時,HTTPService 組件的send()方法將被調(diào)用。該方法向指定
的URL 發(fā)出HTTP GET 或POST 請求,并得到HTTP 回應(yīng)。在本例中,RSS feed 將返回
XML 數(shù)據(jù)。
接下來,檢測RSS feed 的獲取是否成功。然后將數(shù)據(jù)綁定到Label 控件上,就象這樣:

3. 在<mx:Panel>標(biāo)簽中,將title 屬性的值用隨后的表達(dá)式替換:
title="{feedRequest.lastResult.rss.channel.title}"
當(dāng)HTTPService 組件返回XML 時,在名叫l(wèi)astResult 的ActionScript 對象中進(jìn)行剖析。
lastResult 對象的結(jié)構(gòu)反映了XML 文檔的結(jié)構(gòu)。


XML 的結(jié)構(gòu)通常如下所示:
<rss>
<channel>
<title>
other child nodes of <channel>
<item>
<title>
other child nodes of <item>
</item>
...
HTTPService 組件的lastResult 對象反映了這種結(jié)構(gòu),你的代碼看起來就象這樣:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="feedRequest.send()" >
<mx:HTTPService
id="feedRequest"
url="http://weblogs.macromedia.com/mchotin/index.xml"
useProxy="false" />
<mx:Panel x="10" y="10" width="475" height="400" layout="absolute"
title="{feedRequest.lastResult.rss.channel.title}">
<mx:DataGrid x="20" y="20" id="dgPosts" width="400">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="col1"/>
<mx:DataGridColumn headerText="Column 2" dataField="col2"/>
<mx:DataGridColumn headerText="Column 3" dataField="col3"/>
</mx:columns>
</mx:DataGrid>
<mx:LinkButton x="20" y="225" label="Read Full Post"/>
<mx:TextArea x="20" y="175" width="400"/>
</mx:Panel>
</mx:Application>
4. 保存文件,編譯完運(yùn)行。

組裝 DataGrid 控件
在應(yīng)用程序中,使用DataGrid 控件顯示新近貼子的標(biāo)題。
1. 在源代碼模式下,在<mx:DataGrid>標(biāo)簽中輸入隨后的dataProvider 屬性:
<mx:DataGrid x="20" y="20" id="dgPosts" width="400"
dataProvider="{feedRequest.lastResult.rss.channel.item}" >
名稱為item 的XML 結(jié)點(diǎn)為DataGrid 控件提供數(shù)據(jù)。在XML 中這個結(jié)點(diǎn)是重復(fù)的,所
以它在DataGrid 中也是重復(fù)的。
2. 在第一個<mx:DataGridColumn>標(biāo)簽里,鍵入如隨后所示的headerText 和dataField
屬性值:
<mx:DataGridColumn headerText="Posts" dataField="title" />
DataGrid 控件的第一列用來顯示標(biāo)題。實(shí)現(xiàn)它是通過確定包含標(biāo)題數(shù)據(jù)的XML 中的字
段,然后輸入這個字段作為dataField 的屬性值。在dataProvider 屬性(item)中指定的XML
結(jié)點(diǎn),名為title 的子結(jié)點(diǎn)中包含了所需的信息。
3. 在第二個<mx:DataGridColumn>標(biāo)簽中,輸入如隨后所示的headerText,dataField 和
width 屬性值:
<mx:DataGridColumn headerText="Date" dataField="pubDate" width="150" />
DataGrid 中的第二列用來顯示日期。在本例中,包含數(shù)據(jù)的字段被稱之為pubDate。
4. 刪除第三個<mx:DataGridColumn>標(biāo)簽,因?yàn)槲覀冊谶@里并不需要第三列。
<mx:DataGrid>標(biāo)簽看起來就象這樣:
<mx:DataGrid x="20" y="20" id="dgPosts" width="400"
dataProvider="{feedRequest.lastResult.rss.channel.item}">
<mx:columns>
<mx:DataGridColumn headerText="Posts" dataField="title" />
<mx:DataGridColumn headerText="Date" dataField="pubDate" width="150" />
</mx:columns>
</mx:DataGrid>
5. 保存文件,編譯后運(yùn)行。

顯示所選的項(xiàng)
當(dāng)用戶在DataGrid 控件中進(jìn)行選擇時,你希望應(yīng)用程序在TextArea 控件中只顯示貼子
的頭幾行內(nèi)容。在XML 供給器的項(xiàng)結(jié)點(diǎn)中,這個信息被包含在一個稱之為description 的字
段里。
1. 在源代碼模式中,在<mx:TextArea>標(biāo)簽中輸入如隨后所示的htmlText 屬性:
<mx:TextArea x="20" y="175" width="400"
htmlText="{dgPosts.selectedItem.description}" />
對于在DataGrid 組件中所選擇的每個項(xiàng)(名稱為dgPosts),description 字段的數(shù)值被使
用作為htmlText 的屬性,該屬性使你可以顯示HTML 格式的文本。
2. 保存文件,編譯后運(yùn)行。點(diǎn)擊 DataGrid 控件中的分列,每個貼子的頭幾行內(nèi)容將出
現(xiàn)在TextArea 控件中。


創(chuàng)建一個動態(tài)連接
RSS 供給器并不提供貼子的完整文本,但是你還是可以使用戶能夠讀到這些貼子,如果
他們有興趣的話。RSS 供給器沒有提供的信息,可以通過連接到各個貼子的URLs 來實(shí)現(xiàn)。
在XML 供給器的item 結(jié)點(diǎn)中,這個信息被包含在一個稱之為link 的字段中。
你可以創(chuàng)建一個動態(tài)連接來顯示在DataGrid 中被選貼子的全部內(nèi)容。
1. 在源代碼模式里,在<mx:LinkButton>標(biāo)簽中輸入如隨后所示的click 屬性:
<mx:LinkButton x="20" y="225" label="Read Full Post"
click="navigateToURL(new URLRequest(dgPosts.selectedItem.link));" />
DataGrid 控件中被選項(xiàng)的連接字段的值,dgPosts.selectedItem.link 由navigateToURL()
方法的參數(shù)所指定,每當(dāng)用戶點(diǎn)擊LinkButton 控件時被調(diào)用。navigateToURL() 方法在一
個新打開的瀏覽器窗口中,加載從指定URL 傳來的文檔。
2. 保存文件,編譯后運(yùn)行。

以上就是制作一個bolg閱讀器的步驟與代碼。

相關(guān)文章

最新評論