許多win8系統(tǒng)用戶(hù)都會(huì)進(jìn)行應(yīng)用開(kāi)發(fā),而不論是桌面客戶(hù)端還是Web應(yīng)用通常會(huì)出現(xiàn)處理時(shí)間較長(zhǎng)的操作,為了在這段時(shí)間內(nèi)不影響用戶(hù)與應(yīng)用之間的交互體驗(yàn),開(kāi)發(fā)人員通常會(huì)使用異步調(diào)用技術(shù),使得比較復(fù)雜的邏輯操作由異步進(jìn)行,那么win8系統(tǒng)應(yīng)用開(kāi)發(fā)時(shí)怎么使用異步調(diào)用技術(shù)呢?現(xiàn)在給大家講解一下具體的操作方法。
1、首先我們來(lái)編寫(xiě)一個(gè)“Get Blogs”按鈕,點(diǎn)擊它可以從Windows Blog中獲取博客列表。當(dāng)然獲取博客信息的過(guò)程是由異步進(jìn)行的,這個(gè)過(guò)程中為了測(cè)試用戶(hù)仍然可以與應(yīng)用交互,我們?cè)僭O(shè)計(jì)一個(gè)“Change Text”用來(lái)修改waitingText的內(nèi)容;
<TextBlock x:Name="listTitle" Height="40" Width="200"
/>
<ListView x:Name="blogList" ItemTemplate="{StaticResource listTemplate}"
VerticalAlignment="Top" HorizontalAlignment="Left" Height="550"
Margin="50,10,0,0" Width="650"/>
<TextBlock x:Name="waitingText www.cq-niit.com" Height="40" Width="200"
/>
<Button x:Name="getBlogs" Content="Get Blogs" Width="150"
Click="getBlogs_Click" />
<Button x:Name="changeText" Content="Change Text" Margin="0,10,0,0"
Width="150" Click="changeText_Click" />
2、接下來(lái)為“Get Blogs”按鈕添加Click事件,getBlogs_Click與以往Click事件不同之處就在于多了一個(gè)async關(guān)鍵字,看到Async就說(shuō)明下面的內(nèi)容要通過(guò)異步方法來(lái)實(shí)現(xiàn)。方法中通過(guò)SyndicationClient.RetrieveFeedAsync獲取博客內(nèi)容,并通過(guò)await操作符告知應(yīng)用要調(diào)用異步操作,且不影響用戶(hù)正常交互。如果不使用的異步調(diào)用的話(huà),用戶(hù)只能等待所有博客內(nèi)容加載完成后,才能繼續(xù)使用該應(yīng)用;
3、運(yùn)行程序點(diǎn)擊“Get Blogs”按鈕,現(xiàn)在應(yīng)用已經(jīng)通過(guò)異步方式獲取Blog內(nèi)容,這是我們可以點(diǎn)擊“Change Text”來(lái)驗(yàn)證一下用戶(hù)是否可以繼續(xù)使用應(yīng)該的其他功能;
4、點(diǎn)擊“Get Blogs”后會(huì)出現(xiàn)“Loading Blogs…”的字樣,說(shuō)明此事異步調(diào)用已經(jīng)啟動(dòng);
5、在獲取到博客內(nèi)容前點(diǎn)擊“Change Text”,剛才的文字會(huì)變?yōu)椤癙lease Waiting …”,說(shuō)明當(dāng)異步調(diào)用時(shí)用戶(hù)仍然可以與應(yīng)用進(jìn)行交互。
關(guān)于Win8系統(tǒng)應(yīng)用開(kāi)發(fā)時(shí)使用異步調(diào)用技術(shù)的方法就給大家介紹到這邊了,有需要的用戶(hù)們可以采取上面的方法步驟來(lái)進(jìn)行操作就可以了。
網(wǎng)友評(píng)論