国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web Service 在Windows Phone8中的研究與應(yīng)用

2015-06-02 04:38趙光亮
電腦知識與技術(shù) 2015年9期

趙光亮

摘要:Web Service的應(yīng)用相當(dāng)廣泛,但在Windows Phone8中如何對Web Service數(shù)據(jù)的獲取和應(yīng)用卻鮮有這方面的文章和書籍。該文對Windows Phone手機應(yīng)用中如何利用Web Service獲取相應(yīng)的共享數(shù)據(jù)進(jìn)行分析和應(yīng)用,并以查詢國內(nèi)航班為例,分析Web Service的使用方法。

關(guān)鍵詞:Windows Phone8; Web Service; 航班查詢

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2015)09-0254-02

Windows Phone(簡稱:WP)是微軟發(fā)布的一款手機操作系統(tǒng)。2010年10月正式發(fā)布了智能手機操作系統(tǒng)Windows Phone7, 2012年6月發(fā)布Windows Phone 8,采用和Windows 8相同的Windows NT內(nèi)核。Windows Phone系統(tǒng)發(fā)布以來,由于iOS、Android強勢,該系統(tǒng)市場占有率不高,該系統(tǒng)的應(yīng)用和iOS、Android比起來也少得多。不過,隨著微軟CEO最近提出的“移動和云優(yōu)先”戰(zhàn)略,加上很多手機廠商相繼宣布加入Windows Phone陣營,相信Windows Phone會有很大的發(fā)展,因此,Windows Phone應(yīng)用開發(fā)具有很好的前景,本文介紹了如何從Web Service提供的數(shù)據(jù)中獲取數(shù)據(jù)來豐富我的應(yīng)用,比如:國內(nèi)飛機航班時刻表、天氣預(yù)報、中國郵政編碼等。

1 Web Service概述

Web Service是一種標(biāo)準(zhǔn)化的實現(xiàn)網(wǎng)絡(luò)服務(wù)以及實現(xiàn)異構(gòu)程序之間方法調(diào)用的機制,主要是為了使原來各孤立的站點之間的信息能夠相互通信、共享而提出的—種接口。Web Service也叫做XML Web Service,是一種可以接納從Internet或者Intranet上的其他設(shè)備中傳送過去的請求,輕量級的獨立的通信技術(shù),是經(jīng)過soap在Web上提供的軟件服務(wù),運用WSDL文件停止闡明,并經(jīng)過UDDI停止注冊。Web Service所使用的是Internet上統(tǒng)一、開放的標(biāo)準(zhǔn),如HTTP、XML、SOAP(簡單對象訪問協(xié)議)、WSDL等,所以Web Service可以在任何支持這些標(biāo)準(zhǔn)的環(huán)境(Windows、Linux〉中使用。它通過XML格式的文件來描述方法、參數(shù)、調(diào)用和返回值,這種格式的XML文件稱為WSDL(Web Service Description Language, Web服務(wù)描述語言)。

2 Windows Phone8開發(fā)環(huán)境搭建

WindowsPhone8的開發(fā)對計算機要求較高,具體要求計算機配置應(yīng)該滿足以下要求:(1)操作系統(tǒng)為Windows8 64位(X64)版本;(2)系統(tǒng)盤需要至少8G的剩余硬盤空間;(3)內(nèi)存空間達(dá)到4GB或者以上;(4)WindowsPhone8模擬器基于Hyper-V,需要CPU支持二級地址轉(zhuǎn)換技術(shù)。(5)安裝Microsoft Visual Studio 2012和Windows Phone SDK 8.0。

3 Web Service在Windows Phone8中的應(yīng)用

Web Service的應(yīng)用相當(dāng)廣泛,但在Windows Phone8卻鮮有這方面的文章和書籍,本文從參數(shù)的確定、數(shù)據(jù)綁定和數(shù)據(jù)獲取等方面來進(jìn)行分析應(yīng)用。

3.1數(shù)據(jù)綁定

根據(jù)我的應(yīng)用需要獲取哪些參數(shù),這個要根據(jù)Web Service的具體應(yīng)用來確定,不同的應(yīng)用參數(shù)是不一樣的,具體的參數(shù)的確定通過以下方法來確定,這里以查詢國內(nèi)航班為例來說明如何確定參數(shù)。打開web服務(wù)的網(wǎng)站http://www.webxml.com.cn/zh_cn/web_services_item.aspx?id=494536374B66307964534D3D找到相應(yīng)的web服務(wù),通過getDomesticAirlinesTime方法獲得相應(yīng)的參數(shù),確定參數(shù)以后,由于獲得的數(shù)據(jù)可能有多項數(shù)據(jù),所以應(yīng)該構(gòu)建數(shù)據(jù)模板,該數(shù)據(jù)可以通過System.Windows.DataTemplate自定義所需要的內(nèi)容模版,這樣一來,就可以在不重新定義整個模版的情況下,使控件呈現(xiàn)更豐富的內(nèi)容,綁定數(shù)據(jù)類:

public class AirlinesTimes

{

public string Company { get; set; }//航空公司

public string AirlineCode { get; set; }//航班號

public string StartDrome { get; set; }//出發(fā)機場

public string ArriveDrome { get; set; }//到達(dá)機場

public string StartTime { get; set; }//出發(fā)時間

public string ArriveTime { get; set; }//到達(dá)時間

public string Mode { get; set; }//機型

public string AirlineStop { get; set; }//經(jīng)停

public string Week { get; set; }}//飛行周期(星期)

3.2 解析互聯(lián)網(wǎng)數(shù)據(jù)

使用HttpWebRequest類和HttpWebResponse類可以實現(xiàn)向遠(yuǎn)程服務(wù)器發(fā)出HTTP請求,并接受服務(wù)器的響應(yīng)。操作流程:(1)調(diào)用WebRequest類的Create方法創(chuàng)建一個HttpWebRequest實例。(2)設(shè)置相關(guān)的參數(shù),發(fā)送請求。(3)調(diào)用該對象的GetResponseStream方法得到流對象。HttpWebRequest類數(shù)據(jù)的提交是通過 GET 和 POST 兩種方式來完成。

GET方式的實現(xiàn)過程如下:

創(chuàng)建httpWebRequest對象 HttpWebRequest不能直接通過new來創(chuàng)建,只能通過WebRequest.Create(url)的方式獲得。通過Method指定請求類型:GET。請求的URL必須是絕對地址;其請求是異步回調(diào)方式的,從BeginGetResponse開始,通過AsyncCallback指定回調(diào)方法。下面是查詢國內(nèi)航班的實現(xiàn)代碼。

航班查詢代碼:

private void Button_Click_1(object sender, RoutedEventArgs e)

{ if (string.IsNullOrWhiteSpace(this.txtStartCity.Text.Trim()) || string.IsNullOrWhiteSpace(this.txtLastCity.Text.Trim()) || string.IsNullOrWhiteSpace(this.txtDate.Text.Trim()))

{ MessageBox.Show("請輸入準(zhǔn)確的查詢參數(shù)", "提示", MessageBoxButton.OK);

return;}

this.tipPanel.Visibility = System.Windows.Visibility.Visible;

string strUri = string.Format("http://webservice.webxml.com.cn/webservices/DomesticAirline.asmx/getDomesticAirlinesTime?startCity={0}&lastCity={1}&theDate={2}&userID={3}", txtStartCity.Text, txtLastCity.Text, txtDate.Text, string.Empty);

HttpWebRequest request =(HttpWebRequest) WebRequest.Create(strUri);

request.Method = "GET";

request.BeginGetResponse(new AsyncCallback(HandleResponse), request);}

4 總結(jié)

隨著Windows Phone系統(tǒng)的逐漸成熟、大量廠商加入Windows Phone陣營,Windows Phone系統(tǒng)在將來的手機占有率上會不斷上升,因此,Windows Phone系統(tǒng)的應(yīng)用開發(fā)將越來越重要和普及,本文通過Windows Phone8中對Web Services的共享數(shù)據(jù)進(jìn)行分析、獲取和應(yīng)用。幫助大家盡快掌握在Windows Phone應(yīng)用中獲取Web Services數(shù)據(jù)來提高應(yīng)用質(zhì)量。

參考文獻(xiàn):

[1] 劉偉世,王晉東,唐澤皓.基于Windows Phone平臺的移動項目開發(fā) [J]. 電腦開發(fā)與應(yīng)用, 2014(2).

[2] 馬寧.Windows Phone開發(fā)工具初體驗 [J]. 程序員, 2010(7).

[3] 李曉珊. 蘋果IOS、谷歌Android、微軟Windows Phone 三大移動互聯(lián)網(wǎng)系統(tǒng)開發(fā)策略比較研究[J].中國廣播, 2013(5).

[4] 楊勇,鄺宇鋒,魏騫.移動互聯(lián)網(wǎng)終端應(yīng)用開發(fā)技術(shù)[J]. 中興通訊技術(shù), 2013(8).

[5] 林政.深入淺出Windows Phone 8應(yīng)用開發(fā)[M].北京: 清華大學(xué)出版社,2013(6).

[6] 周家安. Windows Phone 8開發(fā)技巧與案例精解[M].北京: 機械工業(yè)出版社,2013(6).