《移動(dòng)與嵌入式開(kāi)發(fā)技術(shù)·Windows Phone 7入門(mén)經(jīng)典:使用Silverlight和XNA開(kāi)發(fā)Windows Phone應(yīng)用》旨在分享微軟強(qiáng)大的編程工具(Silverlight、XNA和Visual Studi0 2010 Express Edition)的使用心得,介紹如何使用現(xiàn)有的C#和.NET編程技能來(lái)開(kāi)發(fā)Windows Phone 7應(yīng)用程序。《移動(dòng)與嵌入式開(kāi)發(fā)技術(shù)·Windows Phone 7入門(mén)經(jīng)典:使用Silverlight和XNA開(kāi)發(fā)Windows Phone應(yīng)用》作者團(tuán)隊(duì)探討了各種用來(lái)增強(qiáng)開(kāi)發(fā)經(jīng)驗(yàn)的云服務(wù)和門(mén)戶服務(wù),詳細(xì)說(shuō)明了一些增強(qiáng)應(yīng)用程序的做法,有些做法甚至還使用了獨(dú)立存儲(chǔ)和Silverlight工具包。對(duì)WindowsPhone 7應(yīng)用程序生命周期的深度剖析,以及在與硬件進(jìn)行交互和使用Expression Blend來(lái)創(chuàng)建更華麗用戶界面方面提供的建議,都有助于你學(xué)習(xí)創(chuàng)建獨(dú)特而又實(shí)用的Windows Phone 7應(yīng)用程序。
《移動(dòng)與嵌入式開(kāi)發(fā)技術(shù)·Windows Phone 7入門(mén)經(jīng)典:使用Silverlight和XNA開(kāi)發(fā)Windows Phone應(yīng)用》主要內(nèi)容:
◆回顧Windows Phone操作系統(tǒng)的歷史,評(píng)點(diǎn)Windows Phone 7與之前版本的不同之處;
◆演示頁(yè)面導(dǎo)航、筆刷、顏色、主題等功能的最佳用法;
◆詳細(xì)說(shuō)明一些確保用戶在從掛起應(yīng)用狀態(tài)返回到當(dāng)前工作應(yīng)用時(shí)能夠平滑過(guò)渡的做法;
◆討論啟動(dòng)器和選擇器這種標(biāo)準(zhǔn)化功能的用法;
◆介紹一些構(gòu)建Web服務(wù)的方法,這些Web服務(wù)可以把數(shù)據(jù)提供給其他任何支持Web服務(wù)使用的設(shè)備。
10年前,有誰(shuí)會(huì)想到,在Web和桌面應(yīng)用程序的功能得到極大發(fā)展之后,你最終還能把許多的這些功能復(fù)制到小如手機(jī)一類(lèi)的東西之上呢?距今不久,手機(jī)的主要作用還只是打電話而已;實(shí)際上,僅是可隨處打電話這個(gè)功能就已令人贊不絕口,但事已不同往日。現(xiàn)在,至少存在著三種主要的智能手機(jī)平臺(tái),手機(jī)用戶可在手機(jī)上進(jìn)行以前需要PC來(lái)完成的任何事情,你可以購(gòu)物、計(jì)算稅費(fèi)、玩游戲、瀏覽網(wǎng)頁(yè)、閱讀新聞等。當(dāng)然,這意味著作為一名開(kāi)發(fā)者,你正式擁有了一個(gè)可考慮在它之上編寫(xiě)自己的應(yīng)用程序的新平臺(tái)。幸運(yùn)的是,新的Windows Phone 7平臺(tái)為開(kāi)發(fā)者提供了一個(gè)當(dāng)前可用于移動(dòng)應(yīng)用程序開(kāi)發(fā)的最強(qiáng)健、最易于使用的編程環(huán)境。
在智能手機(jī)的第一波浪潮涌向市場(chǎng)的時(shí)候,許多的智能手機(jī)都需要特殊的開(kāi)發(fā)工具包,而這些工具包只能從特定的手機(jī)制造商手中高價(jià)購(gòu)買(mǎi)。當(dāng)然,Windows Mobile平臺(tái)在這方面始終表現(xiàn)不同,在Windows Mobile平臺(tái)上,開(kāi)發(fā)者可以使用現(xiàn)有的.NET技術(shù)來(lái)編寫(xiě)移動(dòng)應(yīng)用程序,而且已有熟悉的Visual Studio開(kāi)發(fā)環(huán)境。不過(guò),Windows Mobile開(kāi)發(fā)之前的做法也不是一點(diǎn)短處都沒(méi)有,在許多情況下,因?yàn)橛布牟灰?guī)范,為一種硬件設(shè)備編寫(xiě)的應(yīng)用程序無(wú)法在另一個(gè)設(shè)備上獲得相同的執(zhí)行功能。這一困境和專(zhuān)門(mén)開(kāi)發(fā)工具包的高費(fèi)用都是最新涌現(xiàn)的這批智能手機(jī)開(kāi)發(fā)平臺(tái)旨在解決的問(wèn)題。為了讓移動(dòng)開(kāi)發(fā)市場(chǎng)有一個(gè)爆炸式的增長(zhǎng),催生出豐富的應(yīng)用程序開(kāi)發(fā),硬件的功能需要標(biāo)準(zhǔn)化,進(jìn)入移動(dòng)開(kāi)發(fā)領(lǐng)域的成本必須大幅降低。
Windows Phone 7開(kāi)發(fā)平臺(tái)在解決這些問(wèn)題方面所做的工作非常了不起,開(kāi)發(fā)環(huán)境免費(fèi)、硬件最終被標(biāo)準(zhǔn)化、在網(wǎng)絡(luò)上及本書(shū)中提供大量豐富的開(kāi)發(fā)資料。還有一個(gè)額外好處是,選擇使用Silverlight作為主要開(kāi)發(fā)平臺(tái)就意味著,在許多情況下,為基于Silverlight Web平臺(tái)編寫(xiě)的應(yīng)用程序可以很容易地移植到手機(jī)設(shè)備上,反之亦然。這無(wú)疑是成為一名開(kāi)發(fā)者的絕好時(shí)候,并且現(xiàn)在也是熟練掌握Window Phone 7開(kāi)發(fā)工具和平臺(tái)的最佳時(shí)機(jī)。在讀完本書(shū)之后,你就具備了創(chuàng)建豐富的移動(dòng)應(yīng)用程序和游戲的知識(shí)和技能,你會(huì)發(fā)現(xiàn),在這一平臺(tái)上開(kāi)發(fā)應(yīng)用程序是一件值得而又易于實(shí)現(xiàn)的事情。我們都期望看到,作為讀者的你們,開(kāi)始加入到下一代豐富的移動(dòng)應(yīng)用程序的開(kāi)發(fā)隊(duì)伍中來(lái)。
本書(shū)讀者對(duì)象
本書(shū)是專(zhuān)為那些有興趣學(xué)習(xí)Windows Phone 7平臺(tái)上移動(dòng)應(yīng)用程序開(kāi)發(fā)的讀者準(zhǔn)備的,你應(yīng)該對(duì)一些基本的編程構(gòu)造和方法論有所了解,但不要求以往有任何移動(dòng)開(kāi)發(fā)、Silverlight
或Windows Phone 7方面的經(jīng)驗(yàn);熟悉諸如Visual Studio和Expression Blend一類(lèi)的Microsoft開(kāi)發(fā)工具會(huì)有幫助,但這也不是必需的。為了方便Windows Phone 7平臺(tái)上的應(yīng)用開(kāi)發(fā),本書(shū)會(huì)指導(dǎo)你如何來(lái)使用這些工具中需要用到的那部分功能。
本書(shū)主要內(nèi)容
本書(shū)涵蓋了需要用來(lái)編寫(xiě)豐富的Windows Phone 7移動(dòng)應(yīng)用程序的所有主題,下面是每章內(nèi)容的簡(jiǎn)要介紹:
● 第1章“Windows Phone 7介紹”——介紹Windows Phone 7開(kāi)發(fā)。
● 第2章“借助Silverlight創(chuàng)建炫麗的應(yīng)用程序”——使用Silverlight來(lái)開(kāi)發(fā)應(yīng)用程序。
● 第3章“使用形狀、顏色、筆刷和變換美化應(yīng)用程序”——了解如何使用形狀、顏色、筆刷和變換對(duì)象。
● 第4章“高級(jí)用戶界面技術(shù):樣式、模板和Visual State Manager”——了解一些界面技術(shù),其中包括樣式、模板,以及使用視覺(jué)狀態(tài)管理器創(chuàng)建動(dòng)畫(huà)的做法。
● 第5章“獨(dú)立存儲(chǔ)、頁(yè)面導(dǎo)航和應(yīng)用程序生命周期”——了解使用了Silverlight獨(dú)立存儲(chǔ)(Silverlight Isolated Storage)功能的數(shù)據(jù)存儲(chǔ)和多頁(yè)面應(yīng)用程序。
● 第6章“與硬件交互”——使用硬件交互功能、調(diào)頻收音機(jī)(FM Radio)和加速計(jì)(Accelerometer)。
● 第7章“啟動(dòng)器、選擇器和高級(jí)用戶輸入”——了解啟動(dòng)器和選擇器。
● 第8章“Windows Phone 7 服務(wù)與云服務(wù)”——使用Windows Phone 7云服務(wù)。
● 第9章“創(chuàng)建和使用Web服務(wù)”——使用外部的Web服務(wù)。
● 第10章“Web服務(wù)推送通知”——了解Web服務(wù)以及如何使用推送通知。
● 第11章“Windows Phone 7上的XNA平臺(tái)”——使用XNA開(kāi)發(fā)游戲。
● 第12章“Expression Blend”——使用Expression Blend。
● 第13章“使用Silverlight for Windows Phone Tookit并創(chuàng)建全景用戶界面”——了解全景顯示和Silverlight工具包。
● 第14章“模式、框架和測(cè)試”——使用開(kāi)發(fā)模式并測(cè)試應(yīng)用程序。
● 第15章“發(fā)布應(yīng)用程序”——把應(yīng)用程序發(fā)布到Windows Phone 7 Marketplace上。
● 附錄“練習(xí)題解答”——從這里可找到以上各章習(xí)題的答案。
本書(shū)用到的軟件產(chǎn)品和工具
為了遵照本書(shū)的做法以及編譯和運(yùn)行書(shū)中的應(yīng)用程序示例,讀者需要具備以下軟件產(chǎn)品和工具:
● Windows 7、Windows Vista、Windows XP、Windows Server 2008或Windows Server 2003。
● 最新版的Windows Phone 7開(kāi)發(fā)工具,可通過(guò)Microsoft的網(wǎng)站http://create.msdn. com免費(fèi)獲得,這些工具包括了Visual Studio 2010免費(fèi)版、XNA Game Studio和專(zhuān)為Windows Phone 7開(kāi)發(fā)定制的Expression Blend。
● 安裝Silverlight for Windows Phone 7 Toolkit,這是一個(gè)可在http://silverlight.codeplex. com/上免費(fèi)獲取的工具包。
源代碼
在讀者學(xué)習(xí)本書(shū)中的示例時(shí),可以手工輸入所有代碼,也可以使用本書(shū)附帶的源代碼文件。本書(shū)使用的所有源代碼都可以從本書(shū)合作站點(diǎn)http://www.wrox.com/或www.tupwk.com.cn/ downpage上下載。登錄到站點(diǎn)http://www.wrox.com/,使用Search工具或書(shū)名列表就可以找到本書(shū)。接著單擊本書(shū)細(xì)目頁(yè)面上的Download Code鏈接,就可以獲得所有源代碼。 注意: 由于許多圖書(shū)的標(biāo)題都很類(lèi)似,因此按ISBN搜索是最簡(jiǎn)單的,本書(shū)英文版的ISBN是978-0-470-91233-1。 在下載了代碼后,只需要用自己喜歡的解壓縮軟件對(duì)它進(jìn)行解壓縮即可。另外,也可以進(jìn)入http://www.wrox.com/dynamic/books/download.aspx上的Wrox代碼下載主頁(yè),查看本書(shū)和其他Wrox圖書(shū)的所有代碼。
勘誤表
盡管我們已經(jīng)做了各種努力來(lái)保證文章或代碼中不出現(xiàn)錯(cuò)誤,但錯(cuò)誤總是難免的,如果您在本書(shū)中找到了錯(cuò)誤,例如拼寫(xiě)錯(cuò)誤或代碼錯(cuò)誤,請(qǐng)告訴我們,我們將非常感激。通過(guò)勘誤表,可以讓其他讀者避免受挫,當(dāng)然,這還有助于提供更高質(zhì)量的信息。 請(qǐng)給wkservice@vip.163.com發(fā)電子郵件,我們就會(huì)檢查您的反饋信息,如果是正確的,我們將在本書(shū)的后續(xù)版本中采用。 要在網(wǎng)站上找到本書(shū)英文版的勘誤表,可以登錄http://www.wrox.com,通過(guò)Search工具或書(shū)名列表查找本書(shū),然后在本書(shū)的細(xì)目頁(yè)面上,單擊Book Errata鏈接。在這個(gè)頁(yè)面上可以查看到Wrox編輯已提交和粘貼的所有勘誤項(xiàng)。完整的圖書(shū)列表還包括每本書(shū)的勘誤表,網(wǎng)址是www.wrox.com/misc-pages/booklist.shtml。
P2P.WROX.COM
要與作者和同行討論,請(qǐng)加入p2p.wrox.com上的P2P論壇。這個(gè)論壇是一個(gè)基于Web的系統(tǒng),便于您張貼與Wrox圖書(shū)相關(guān)的消息和相關(guān)技術(shù),與其他讀者和技術(shù)用戶交流心得。該論壇提供了訂閱功能,當(dāng)論壇上有新的消息時(shí),它可以給您傳送感興趣的話題。Wrox
Windows Phone 7 入門(mén)經(jīng)典:使用 Silverlight 和 XNA 開(kāi)發(fā)Windows Phone 應(yīng)用
作者、編輯和其他業(yè)界專(zhuān)家和讀者都會(huì)到這個(gè)論壇上來(lái)探討問(wèn)題。 在http://p2p.wrox.com上,有許多不同的論壇,它們不僅有助于閱讀本書(shū),還有助于開(kāi)發(fā)自己的應(yīng)用程序。要加入論壇,可以遵循下面的步驟: (1) 進(jìn)入p2p.wrox.com,單擊Register鏈接。 (2) 閱讀使用協(xié)議并單擊Agree按鈕。 (3) 填寫(xiě)加入該論壇所需要的信息和自己希望提供的其他信息,單擊Submit按鈕。 (4) 您會(huì)收到一封電子郵件,其中的信息描述了如何驗(yàn)證賬戶,完成加入過(guò)程。 注意: 不加入P2P也可以閱讀論壇上的消息,但要張貼自己的消息,就必須加入該論壇。 加入論壇后,就可以張貼新消息,響應(yīng)其他用戶張貼的消息。可以隨時(shí)在Web上閱讀消息。如果要讓該網(wǎng)站給自己發(fā)送特定論壇中的消息,可以單擊論壇列表中該論壇名旁邊的Subscribe to this Forum圖標(biāo)。 關(guān)于使用Wrox P2P的更多信息,可閱讀P2P FAQ,了解論壇軟件的工作情況以及P2P和Wrox圖書(shū)的許多常見(jiàn)問(wèn)題。要閱讀FAQ,可以在任意P2P頁(yè)面上單擊FAQ鏈接。
Nick Lecrenski,是MyFitnessjoumal.com的創(chuàng)始人和首席開(kāi)發(fā)者,這是一個(gè)基本使用Silverlight技術(shù)實(shí)現(xiàn)的健身網(wǎng)站。Nick還菴有Slverlight 4:Problem-Design-Solution一書(shū)。
Karli Watson是3form有限責(zé)任公司的簽約作家和技術(shù)顧問(wèn),此外還是Content Master的合作技術(shù)專(zhuān)家。
Robert Fonseca-Ensor是Infusion公司的顧問(wèn),擅長(zhǎng)WPF、Silverlight和iPhone開(kāi)發(fā)。
第1章 WindowsPhone7介紹
1.1 WindowsMobile平臺(tái)
1.1.1 iPhone的出現(xiàn)
1.1.2 Android問(wèn)世
1.1.3 Microsoft重新進(jìn)入市場(chǎng)
1.2 WindowsPhone7平臺(tái)
1.2.1 WindowsPhone7的硬件規(guī)范
1.2.2 WindowsPhone7的體系結(jié)構(gòu)
1.3 開(kāi)始進(jìn)行WindowsPhone7開(kāi)發(fā)
1.4 小結(jié)
第2章 借助Silverlight創(chuàng)建炫麗的應(yīng)用程序
2.1 WindowsPhone7的開(kāi)發(fā)需求
2.2 什么是Silverlight
2.2.1 什么是XAML
2.2.2 WindowsPhone應(yīng)用程序的結(jié)構(gòu)
2.2.3 Silverlight控件與開(kāi)發(fā)
2.2.4 常用控件屬性
2.2.5 布局控件
2.2.6 Silverlight編程
2.2.7 交互控件
2.3 小結(jié)
第3章 使用形狀、顏色、筆刷和變換美化應(yīng)用程序
3.1 創(chuàng)建形狀
3.1.1 Ellipse控件
3.1.2 Rectangle控件
3.1.3 Line控件
3.1.4 Polygon控件
3.1.5 Polyline控件
3.2 使用顏色
3.3 使用筆刷
3.3.1 SolidColorBrush對(duì)象
3.3.2 LinearGradientBrush對(duì)象
3.3.3 RadiaIGradientBrush對(duì)象
3.3.4 ImageBrush對(duì)象
3.4 應(yīng)用變換
3.4.1 RotateTransform對(duì)象
3.4.2 ScaleTransform對(duì)象
3.4.3 SkewTransform控件
3.4.4 TranslateTransform對(duì)象
3.4.5 TransformGroup對(duì)象
3.5 小結(jié)
第4章 高級(jí)用戶界面技術(shù):樣式、模板和VisualStateManager
4.1 了解控件樣式
4.1.1 應(yīng)用程序樣式
4.1.2 BaseOn樣式
4.1.3 控件模板
4.1.4 VisualStateManager
4.1.5 ExpressionBlend
4.1.6 用戶控件
4.1.7 自定義控件
4.2 小結(jié)
第5章 獨(dú)立存儲(chǔ)、頁(yè)面導(dǎo)航和應(yīng)用程序生命周期
5.1 獨(dú)立存儲(chǔ)
5.1.1 Windows Phone7數(shù)據(jù)存儲(chǔ)的工作原理
5.1.2 開(kāi)始使用獨(dú)立存儲(chǔ)
5.1.3 IsolatedStorageSettings對(duì)象
5.1.4 IsolatedStorageFile對(duì)象
5.2 使用導(dǎo)航框架
5.2.1 了解導(dǎo)航框架
5.2.2 NavigationService類(lèi)
5.2.3 查詢字符串
5.2.4 導(dǎo)航事件
5.2.5 頁(yè)面狀態(tài)
5.3 應(yīng)用程序生命周期
5.3.1 啟動(dòng)狀態(tài)
5.3.2 運(yùn)行狀態(tài)
5.3.3 關(guān)閉狀態(tài)
5.3.4 停用狀態(tài)
5.3.5 激活狀態(tài)
5.4 小結(jié)
第6章 與硬件交互
6.1 移動(dòng)設(shè)備應(yīng)用程序開(kāi)發(fā)的區(qū)別是什么
6.2 WindowsPhone7硬件規(guī)范
6.3 更改設(shè)備方向
6.3.1 配置應(yīng)用程序支持的方向
6.3.2 響應(yīng)方向變化
6.3.3 設(shè)備方向的最佳實(shí)踐
6.4 了解Back按鈕
6.4.1 使用Back按鈕的功能
6.4.2 響應(yīng)Back按鈕
6.5 振動(dòng)
6.6 收聽(tīng)FM收音機(jī)
6.7 用加速計(jì)加速
6.7.1 AccelerometerSensor傳感器
6.7.2 模擬加速計(jì)數(shù)據(jù)
6.8 小結(jié)
第7章 啟動(dòng)器、選擇器和高級(jí)用戶輸入
7.1 使用應(yīng)用程序欄
7.1.1 添加應(yīng)用程序欄
7.1.2 應(yīng)用程序欄的最佳實(shí)踐
7.2 使用啟動(dòng)器和選擇器
7.2.1 啟動(dòng)器概述
7.2.2 選擇器概述
7.2.3 墓碑化
7.2.4 使用聯(lián)系人
7.2.5 打電話
7.2.6 使用電子郵件和SMS消息
7.2.7 與相機(jī)進(jìn)行交互
7.2.8 使用其他啟動(dòng)器
7.3 軟件輸入面板
7.4 使用多點(diǎn)觸摸
7.4.1 模擬多點(diǎn)觸摸
7.4.2 操作事件
7.4.3 使用手勢(shì)
7.5 小結(jié)
第8章Windows Phone7服務(wù)與云服務(wù)
8.1 什么是服務(wù)
8.2 借助位置服務(wù)確定自己的位置
8,2.1 對(duì)位置數(shù)據(jù)源的概述和比較
8.2.2 獲取位置信息
8.2.3 位置服務(wù)的最佳實(shí)踐
8.3 使用云服務(wù)
8.3.1 使用微軟云數(shù)據(jù)
8.3.2 在Windows Phone7應(yīng)用中使用必應(yīng)地圖
8.4 小結(jié)
第9章 創(chuàng)建和使用Web服務(wù)
9.1 服務(wù)體系結(jié)構(gòu)的基礎(chǔ)知識(shí)
9.1.1 HTTP
9.1.2 REST
9.1.3 WCF
9.2 Web請(qǐng)求和響應(yīng)
……
第10章 Web服務(wù)推送通知
第11章 Windows Phone7上的XNA平臺(tái)
第12章 Expression Blend
第13章 使用SilverlightforWindowsPhoneTookit并創(chuàng)建全景用戶界面
第14章 模式、框架和測(cè)試
第15章 發(fā)布應(yīng)用程序
附錄 練習(xí)題答案