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