官术网_书友最值得收藏!

Ⅰ.基礎篇

第1章

Windows Phone7簡介

1.1 背景,規范和標準

1.2 特性功能

1.3 Zune和Windows Phone7

1.4 簡便高效的開發

1.5Windows Phone7模擬器

1.6 Metro界面的特點

1.7 開發語言

聊起手機,人們永遠不會忘記那個風靡一時的“大哥大”,這個直板手機的前身給人們帶來了便利,也帶來了榮耀。后來,隨著科學技術的不斷進步,手機已經無人不知,無人不曉,于是人們對手機的期望就更高了。到了現在,智能手機市場競爭愈演愈烈,手機操作系統各顯神通,出現了各路英豪!微軟作為軟件行業的領導廠商,強力推出了全新的Windows Phone7操作系統。Windows Phone7的推出,對于商業用戶和普通消費群體都有極大的價值,它使得用戶的生活更加高效和便捷,對市場有著很大的影響。

高效、易用、快速開發及新的商業模式都將有助于Windows Phone7迅速成為智能手機市場上真正有競爭力的選手之一。在這里我們將為大家介紹Windows Phone7的操作系統概況,開發技術和成功案例的分享,以及應用程序遷移的有關知識。

1.1 背景,規范和標準

在20世紀90年代初,微軟就開始了移動設備操作系統的研發。到20世紀90年代末,Windows CE 1.0版正式發布,在當時的移動終端市場發出了有力的聲音。之后微軟在該產品的基礎上增加了更多功能,并推出了PPC產品,人們可以在上面管理個人信息、存儲數據,還可以像在PC上一樣安裝各種應用軟件。到了21世紀最初的幾年,微軟又推出了Pocket PC Phone2002及SmartPhone2002。Pocket PC,Pocket PC Phone2002和SmartPhone2002是智能手機的雛形,形成了微軟特有的產品線組合。但是,這三款產品中,只有Pocket PC Phone具備電話通信功能,SmartPhone搭載了當時更先進的高端硬件及觸控設備。在十年左右的時間內,Windows Mobile系列獲得了市場的認可,成為智能終端系統的先行者。而使用該系列的最高端的手機觸控產品,也一度成為消費者引以為豪的事情。

Windows Mobile系列之所以能成為當時流行的掌上設備,來自于其現代的、時尚的設計。在當時其他具有類似能力的操作系統還只支持單任務操作,它們在Windows Mobile系列多任務系統的映襯下略顯蒼白。此外,無論是PPC還是Windows Mobile系列都是提供完美多媒體功能的產品,它能夠提供更強悍的媒體解碼與播放功能,因此PPC及Windows Mobile在移動終端上取得了出色的業績。

從這個角度看,微軟是智能手機市場領域早期的開拓者。在那個手機處理器芯片還不強大的年代,為智能手機開發的Windows CE操作系統在智能手機市場初期處于優勢地位。隨著硬件技術的進步,智能手機市場日趨成熟,許多公司都獨立開發出各自的智能手機操作系統,這些操作系統包括蘋果公司的iPhone,谷歌公司的Android,諾基亞公司的Symbian,此外還有BlackBerry,Palm等。

Windows Phone7是微軟公司開發的全新的手機移動操作系統平臺,該平臺完全放棄了原有Windows Mobile 5/6.x的體系結構,采用全新理念設計精心打造,從開發人員開發體驗到最終用戶使用效果都有質的飛躍。該操作系統于2010年10月發布,同時發布首批9款采用Windows Phone7操作系統的智能手機,Windows Phone7首先由60家運營商在30個國家和地區上市,其中在歐洲和亞洲,采用Windows Phone7操作系統的手機于2010年10月21日上市,在美國上市日期為2010年11月8日。從開發的角度看,該操作系統支持的應用程序開發有兩種Framework選擇,分別是Silverlight Framework 與XNA Framework。Silverlight Framework 是以XAML 文件為基礎的應用程序設計,通過事件驅動機制,提供與開發Windows PC應用程序和Silverlight 應用程序相同的開發體驗。XNA Framework的主要目標是用來支持2D,3D游戲設計,顯示流暢,酷炫的游戲效果。Windows Phone7真機圖如圖1.1所示。

圖1.1Windows Phone7真機圖

技巧:手機上的Silverlight版本是一個很接近桌面上的Silverlight 3的子集。這里也有一些Silverlight 3上并沒有的針對手機的特殊功能。但是許多在桌面版的Silverlight 3上正常運行的程序也能夠在手機上正常運行。另外,Silverlight和XNA使用同一個Compact Framework上的基礎代碼。如果這個調用沒有圖形用戶界面交互,多數情況下它們可以在Silverlight和XNA之間共享。

從手機的發展來看,手機技術的發展方向將是 “3C融合”(computer、 communication、consumer)與“3網融合”(互聯網、電信網、廣電網)。具有先天優勢的智能手機符合了“3C融合”和“3網融合”的發展趨勢,它在手機市場中的優勢地位將進一步鞏固。在這樣一種產業背景下,Windows Phone7操作系統登上了舞臺。另外,Windows Phone7手機具有優秀的開發框架,Windows Phone7應用程序還可以廣泛地調用云端服務,包括Xbox LIVE Service、Notification Service、Windows Azure、Location Service,以及其他合作伙伴廠商提供的Web服務,甚至是REST服務(Representational State Transfer)等技術。這為Windows Phone7應用程序提供了更加豐富的功能支持。通過云到端服務,一方面能夠讓用戶在使用不同的終端時可以存取到同樣的信息,獲得相同的服務,另一方面這也是當前業界廣泛實施的云計算解決方案的重要基礎。利用數據中心強大的服務能力,開發人員能夠使用突破Windows Phone7內置的功能的束縛,快速實現不同設備間一致的用戶體驗。

2011年1月的數據顯示,僅正式推出3個月的新型操作系統Windows Phone7銷售量已經突破200萬部,并且銷售速度越來越快,越來越被廣大消費者接受。另一項重要的衡量指標,Windows Phone7Marketplace應用數量在發布7個月后,每月上線的應用數量達2000余個,目前總數已經突破15000。目前采用Windows Phone7系統的主要手機廠商包括宏達電子(HTC)、三星(SAMSUNG)、LG、戴爾(Dell)。2011年初諾基亞(Nokia)與微軟簽署戰略合作協議,全面擁抱Windows Phone手機操作系統。

Windows Phone的Logo如圖1.2所示。

圖1.2Windows PhoneLogo

從圖1.3中,我們可以看到Windows Phone7是一個32位操作系統,雙層架構,由內核層(Kernel Space)和用戶層 (User Space)組成,支持最大4GB尋址空間,換句話說,搭載該系統的設備支持最大4GB的內存,另外,該平臺支持搶先式多任務,多個進程均等分享同一個CPU,高優先級任務優先使用CPU資源,這使得第三方程序不會讓系統停止響應(優先級低,系統任務可以把這種進程安排為pending狀態)。

圖1.3Windows Phone7核心架構

Windows Phone7支持藍牙并使用了兩種不同的文件系統:系統文件 IMFDS和用戶文件TexFAT。在系統鎖死或文件信息丟失的情況下,手機也能夠進行緊急呼叫。所有的Windows Phone7升級通過微軟自有的升級系統完成,升級包通過手機聯網或計算機上的Zune Software下載。

Windows Phone7的升級需要與Windows Live ID綁定,同時訪問微軟在線商店Marketplace需要Windows Live ID的驗證,綁定信用卡后,才能獲取應用程序。此外有效的Windows Live ID也是開發應用程序的必要條件,否則將無法通過工具的測試驗證。

需要說明的是對于Windows Phone7,微軟采用了一種和以前Windows Mobile不同的升級方式。Microsoft Update中使用微軟在全球的基礎服務設施,這樣就可以向Windows Phone7手機用戶直接分發更新,用戶不用關心去哪里下載和安裝它們,簡單幾步就可以自動完成,同時這也為手機合作伙伴(制造商和運營商)建立了一個簡單、一致的更新流程。

當一個更新可用的時候系統同時會通過通知服務告訴手機用戶。你可以把手機通過USB電纜連接到電腦上并啟動Zune應用程序,只需簡單的幾步,升級包就會自動下載并實現更新,同時還會創建一個還原點,所有一切都非常自然。

以下是簡單的更新步驟。

在主屏幕上,打開到應用程序(App)的列表→點擊設置(setting)→點擊電話更新(Phoneupdate)。這里可以對通知與自動檢查更新的連接方式進行自定義設置。默認情況下,發現更新時會自動通知,如圖1.4所示。

如果發現有可用的更新,想立即下載安裝或者想了解更多,可以使用USB電纜將手機連接到電腦上,運行Zune軟件,在Zune軟件中,選擇設置(setting)→手機(phone)→更新(update)。更新界面如圖1.5所示。

圖1.4Windows Phone7更新設置

圖1.5Windows Phone7更新界面

微軟對于手機界面的定制是非常嚴格的,OEM廠商只能做較為有限的修改,它們可以更改如系統的開機畫面,系統的鈴聲和壁紙等。通過微軟的許可,一些默認的應用可以加入到ROM中。OEM不能修改Hub界面,用戶能修改定制系統的地方更為有限,局限于更改用戶的名稱和其他最基本設置等。

Windows Phone7操作系統規定的最低標準硬件規格如下。

?電容式觸控(Capacitive touch):支持4個或更多觸控點;

?CPU:1GHz或更高。

?傳感器:A-GPS、加速器;

?設備必須支持800×480屏幕分辨率;

?攝像頭:500萬像素或更高,Flash閃光燈,攝像頭按鈕;

?硬件按鈕:Windows Phone7設備至少要具備三個按鈕:后退,開始,搜索;多媒體:編解碼加速器;

?內存:最低256MB RAM,最大4GB存儲空間,8GB Flash或更高;

?GPU:DirectX 9;

?其他:加速度感應器、指南針、亮度感應、外部鍵盤(可選)。

無線連接制式目前支持最基本的 GSM,WCDMA及Wi-Fi連接,未來還會支持其他連接方式。

發布時,Windows Phone7只支持五種語言:英語、法語、意大利語、德語和西班牙語。Windows PhoneMarketplace 在15個國家及地區允許購買和銷售應用程序:澳大利亞,奧地利,比利時,加拿大,法國,德國,中國香港,印度,愛爾蘭,意大利,墨西哥,新西蘭,新加坡,西班牙,中國臺灣。

1.2 特性功能

1.手機屏幕

用戶可以在Windows Phone7中定義開機畫面。“Live tiles”(活動瓷片)更加便捷地顯示最新的電話信息、視頻、短信、照片、瀏覽器、聯系人信息等。

2.人際中心

Windows Phone7的人際中心(People Hub)是用戶溝通的核心。手機用戶可以在聯系人菜單中隨時查看好友在facebook,twitter,Windows live中更新的內容與照片。此處還向用戶提供Facebook與Windows Live個人頁面更新功能。

3.相冊中心

Windows Phone7的相冊(Pictures Hub)實現了對手機本地、電腦本地存儲相片與網絡相冊存儲照片的完美支持。用戶可以隨時將自己手機中的照片一鍵發布到自己的社交主頁上。用戶通過Zune軟件可以平滑地操作手機相片。

4.軟件商店中心

Marketplace Hub軟件商店中心用于搜索和下載基于Windows Phone平臺的第三方應用軟件。

5.游戲中心

Windows Phone7游戲中心(Games Hubs)向用戶提供最新的Xbox LIVE游戲體驗。

6.辦公中心

Windows Phone7提供與Office Mobile,Outlook的整合,另外也支持對Office SharePoint,Office OneNote的快速訪問。

7.音樂與視頻中心

Windows Phone7的音樂與視頻服務是手機的媒體播放中心,本地音樂、流媒體、廣播及視頻都可以在此獲得服務。

1.3 Zune和Windows Phone7

Windows Phone7采用Zune應用程序和電腦進行數據的同步。它除了播放音樂之外,還是一個功能強大的媒體庫管理工具,同時,通過Zune Marketplace用戶可以方便地下載各種音樂、視頻等內容。如果你有Zune Pass訂閱,就可以免費下載Zune Marketplace中的所有內容。安裝Zune應用程序可以訪問Windows Phone7Marketplace并下載手機應用軟件。目前支持Zune software 4.7(如圖1.6所示)及以上版本可以和Windows Phone7連接。

圖1.6 Zune和Windows Phone7

1.4 簡便高效的開發

開發人員可以使用Visual Studio 2010 Express forWindows Phone(免費下載),或者Windows PhoneAdd-in for Visual Studio(需要預裝Visual Studio 2010)進行開發。對于XNA-based應用程序,還要安裝Blend forWindows Phone(開發Silverlight應用也需要Blend),XNA Game Studio,這也使得開發者通過一次開發就提供Windows Phone7,Xbox360及Windows三個平臺的產品。此外這些免費的開發工具還包括了模擬器以及一些開發項目的模板。

Windows Phone7的軟件開發工具包從2010年3月份的CTP到4月份的CTP Refresh,到7月份的Beta版本,再到2010年9月17日發布的SDK正式版,這期間進展很快。在正式版本發布的同時,還發布了第三方應用的一些內容。

正式版本的SDK中加入了Windows Phone7Metro UI最重要的兩個控件:Panorama(全景視圖)和Pivot(樞軸視圖),以及Bing Map控件。對于Panorama和Pivot,在開發工具中已經置入了相應的工程模板向導。

1.5 Windows Phone7模擬器

目前的Windows Phone7模擬器實現了Windows Phone7的絕大部分功能,例如啟動器、選擇器、Windows Phone7控件(樞軸視圖、全景視圖、DatePicker、TimePicker、ListPicker、ApplicationBar)、XNA部分功能(Audio、觸摸屏、MediaLibrary、InputScope鍵盤處理)、雪藏機制(TombStone)等。該模擬器不需要太高端的顯卡支持,資源占用不高,運行速度快,目前的普通筆記本電腦就能運行。開發人員開發調試項目時可以充分使用Windows Phone7的模擬器來開發特性和調試,比如修改應用程序的啟動頁、瓷片圖的標題等。

1.6 Metro界面的特點

Windows Phone7采用了全新的用戶界面,稱為 Metro。Metro Design應用于手機界面中有助于引導用戶關注具體的內容,Metro強調界面的協調性和功能性及富有吸引力的視覺效果。Metro的界面設計不同于其他手機界面設計,讓用戶感覺到新奇和興奮。

圖1.7 Metro意為“地鐵”,常用在地鐵、飛機場和街道等公共場合,圖標簡潔、可識別性高

圖1.7 Metro意為“地鐵”,常用在地鐵、飛機場和街道等公共場合,圖標簡潔、可識別性高(續)

這些Metro的圖標很可愛,這種設計也可以讓用戶將更多的注意力放在內容上(這些圖標發出的信息清晰),這也符合手機自身固有的特點。

1.7 開發語言

Windows Phone7 是微軟手機操作系統的新起點。“3 Screens+Cloud”(即“三屏一云”)的應用平臺可以創建具備“云的力量”的用戶體驗。利用微軟提供的工具平臺來開發應用程序,可以使這些應用運行在多種設備包括臺式機、手機和Xbox游戲機上。

Windows Phone7程序的開發以托管程序語言為主,接口及功能都很靈活。有兩種框架(方式)可以開發Windows Phone程序,一種是Silverlight,另一種是XNA Framework。Silverlight和XNA使用同一個Compact Framework上的基礎代碼,Silverlight用來開發Internet富交互應用程序,XNA Framework主要用于游戲開發。Windows Phone7的設計工具可以開發更好的集成用戶體驗。這些API很友好,可以創建簡潔的應用,例如,如果你想添加一個希望有特定類型輸入的TextBox,可以按照以下方式來寫。

<TextBox Text="http://www.microsoft.com">
<TextBox.InputScope>
<InputScope>
<InputScopeNameNameValue="http://www.microsoft.com" />
</InputScope>
</TextBox.InputScope>
</TextBox>

Windows Phone7提供的兩種UI框架可以開發的內容包括通過觸摸或硬件按鈕進行輸入的捕獲,媒體捕獲和回放,可通過語言集成查詢 (LINQ)訪問隔離存儲,獲得手機功能,并獲得云為基礎的服務(如微軟Windows Azure)。

位置服務也是一大亮點。目前的框架可以從服務提供商(全球定位系統,無線網絡)獲得定位信息,用戶可以獲得需要的位置數據的準確定位。

例如,如果你需要準確定位的位置,設備每移動100米就進行數據更新,可以這樣寫:

GeoCoordinateWatcher watcher=new GeoCoordinateWatcher(GeoPositionAccuracy.High);
watcher.MovementThreshold=100;
watcher.PositionChanged+=new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(watcher_P ositionChanged);
watcher.Start();
void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
  Deployment.Current.Dispatcher.BeginInvoke(()=> MyPositionChanged(e));
}
void MyPositionChanged(GeoPositionChangedEventArgs<GeoCoordinate> e)
{
  LongitudeTextBlock.Text=e.Position.Location.Longitude.ToString("0");
  LatitudeTextBlock.Text=e.Position.Location.Latitude.ToString("0");
}

多點觸摸輸入也是智能手機的亮點之一。處理觸摸事件可以利用XAML和托管代碼完成。例如Windows Phone頁面上有一個矩形:

<Canvas>
    <Rectangle
        Name="rectangle"
        Width="100" Height="300"
        Fill="Red" Stroke="Red" StrokeThickness="0.5" />
</Canvas>

ManipulateDelta處理程序如下所示:

private ScaleTransform asl;
private TransformGrouptransformGroup;
private TranslateTransform tr;
public MainPage()
{
   InitializeComponent();
   this.ManipulationDelta+=this.PhoneApplicationPage_ManipulationDelta;
   this.transformGroup=new TransformGroup();
   this. tr=new TranslateTransform();
   this. asl=new ScaleTransform();
   this.transformGroup.Children.Add(this. asl);
   this.transformGroup.Children.Add(this.tr);
   this.rectangle.RenderTransform=this.transformGroup;
}
void PhoneApplicationPage_ManipulationDelta(object senderManipulation DeltaEventArgs e)
{
    this. asl.ScaleX *=e.DeltaManipulation.Scale.X;
    this. asl.ScaleY *=e.DeltaManipulation.Scale.Y;
    // Move the rectangle.
    this.tr.X+=e.DeltaManipulation.Translation.X;
    this.tr.Y+=e.DeltaManipulation.Translation.Y;
}

技巧:目前Windows Phone7Series平臺上不支持C++非托管的開發語言。

隔離存儲“Isolated Storage”涉及的是在設備的文件系統中,你的程序所占據的空間。你將無法訪問這個空間以外的內容(包括其他應用程序的空間或者操作系統的空間)。這樣做將會給你的程序提供一個自管理的安全的沙箱,并且預防其他程序不小心(或者惡意地)侵入你的應用程序空間。

運行上面這段代碼時,可以移動屏幕上的矩形。如果進行Windows Phone7開發,把應用程序部署到手機操作系統上,還可以使用手指調整大小。

此外,Windows Phone7的Runtime API集還可以讓開發的用戶體驗與整體的用戶界面主題相一致。這些API使得用戶可以訪問硬件功能,如傳感器、視頻媒體、相機、電話服務、定位服務和通知服務,詳細內容我們將在未來的章節中進行具體介紹。

根據市場研究公司IDC最新的數據顯示,微軟Windows Phone7Marketplace發展勢頭良好,有望后續發力,具有可觀的發展前景,預計到2015年,Windows Phone將成為全球第二大手機智能平臺,Gartner也有類似的預計結果。

主站蜘蛛池模板: 平远县| 宜黄县| 丰台区| 台山市| 会东县| 寿光市| 读书| 伊通| 巴东县| 忻州市| 宝应县| 庆安县| 九江县| 杭锦后旗| 正安县| 阿图什市| 长乐市| 青田县| 龙里县| 泰兴市| 开化县| 奇台县| 滕州市| 大渡口区| 长垣县| 南阳市| 铁岭县| 孟津县| 兴海县| 新源县| 青海省| 错那县| 双桥区| 彩票| 正安县| 宜章县| 平武县| 霍林郭勒市| 永年县| 平定县| 苏尼特右旗|