內容簡介
內容簡介 本書是應用開發者了解並掌握Windows Phone的有力工具。以介紹Windows Phone Mango 的開發技術為核心,以動手實作的程式實例為線索,講解Windows Phone Mango 的開發技巧。全書分三大單元:基礎篇、Silverlight 互動篇和XNA 遊戲篇。基礎篇,重點講解Silverlight 和XNA 的基本技術、多點觸控、感應器和服務等。其中”探索火星"應用程式的實作,是很特別的一個Windows Phone應用,這個案例中有美國國家航空暨太空總署(National Aeronautics and SpaceAdministration,NASA)提供有關火星工作的圖像資料,內容非常有趣。Silverlight 互動篇,包含Windows Phone Mango 的新技術及功能,涵蓋Silverlight開發的應用程式欄、資料儲存(獨立儲存空間、本機資料庫)、Bing地圖、資料綁定、排程作業、全景和樞軸控制項、啟動器和選擇器、應用程式生命週期,以及MVVM 模式的應用等開發技術。XNA 遊戲篇,以Mango 遊戲開發新功能為重點,講解整合Silverlight 和XNA 框架的3D應用,介紹Visual Basic 開發XNA,以及XNA 二維遊戲開發和3D 模型展示的應用,以動手實作為核心貫穿整篇。本書內容第1 篇 基礎篇Chapter.01 初識廬山真面目 — Windows Phone Mango1-1 概述 1-2 Windows Phone Mango 的新特性 1.2.1 執行模式和應用程式快速切換 1.2.2 背景代理(計畫通知和計畫工作) 1.2.3 背景音訊 1.2.4 背景檔案傳輸 1.2.5 感應器 1.2.6 Socket 支援 1.2.7 網路資訊 1.2.8 推送通知 1.2.9 Live Tiles 1.2.10 整合Silverlight 和XNA 1.2.11 應用程式分析 1.2.12 Windows Phone 模擬器 1.2.13 支援Visual Basic 1.2.14 多目標和應用程式的相容性 1.2.15 WebBrowser 控制項 1.2.16 裝置狀態 1.2.17 本機資料庫 1.2.18 啟動器和選擇器 1.2.19 連絡人和日曆 1.2.20 加密的憑據儲存區1.2.21 搜索可擴充性 1.2.22 系統工作列和進度指示器 1.2.23 OData 使用者端 1.2.24 全球化和當地語系化 1-3 建構Windows Phone Mango 的開發環境 1.3.1 下載Windows Phone 開發工具 1.3.2 開發工具安裝包的內容1.3.3 Windows Phone 的系統 1.4 建立Windows Phone 應用程式 1.5 Windows Phone 的分析工具 Chapter.02 Windows Phone 入門 — 探索火星2.1 概述 — 開創新領域 2.2 什麼是微軟的"Dallas" 2.3 動手實作 — 探索Dallas 2.3.1 開發時的先決條件2.3.2 建立程式 2.3.3 在專案中增加資源2.3.4 頁面設定 2.3.5 與Dallas 通訊 2.3.6 觸控事件處理 2.3.7 實現頁面跳躍 2.3.8 偵錯應用程式 Chapter.0 3 多點觸控3.1 多點觸控技術概述 3.2 Windows Phone 支援的觸控指令 3.3 動手實作 — Silverlight 的多點觸控 3.3.1 動手實作實例 3.3.2 測試應用程式 3.4 耀眼的火花 — XNA 多點觸控遊戲 3.4.1 建立應用程式 3.4.2 啟用手勢操作支援3.4.3 處理使用者的手勢操作3.4.4 處理手勢操作的要訣 3.4.5 讀取多點觸控的資料 3.4.6 設計支援手勢操作的 XNA 遊戲 3.4.7 遊戲程式佈署 Chapter.04 感應器和服務4.1 認知感應器 4.2 重力加速傳感 4.2.1 應用重力加速感應器的體感遊戲設計 4.2.2 動手實作 — Silverlight 獲得重力加速度感應資料 4.2.3 動手實作 — XNA 中使用感應器移動物體 4.3 地理位置服務 4.3.1 動手實作 — 讀取地理位置資訊 4.4 雲端運算服務 4.4.1 開發雲端運算使用者端的先決條件 4.4.2 動手實作 — Windows Phone 的雲端運算使用者端應用程式 4.5 裝置狀態和網路資訊 4.5.1 動手實作 — 獲得和顯示裝置狀態和網路資訊 第2 篇 Silverlight 互動篇Chapter.05 應用程式欄(Application Bar) 最佳實作 — 開發炫彩頁面5.1 應用程式欄(Application Bar)簡介 5.2 動手實作 — 設計應用程式欄 5.2.1 增加圖示按鈕的影像 5.2.2 C# 建立應用程式欄 5.2.3 在XAML 中建立應用程式欄 5.3 動手實作 — 當地語系化應用程式欄(Localizing an Application Bar) 5.3.1 增加資源檔以實現對當地語系化的支援 5.3.2 定義預設的區域 5.3.3 其他區域性語言 5.3.4 資源檔的字串替換 5.3.5 當地語系化應用程式欄 5.3.6 執行結果 5.4 應用Expression Blend 炫彩Silverlight 頁面 5.4.1 Expression Blend 的應用 Chapter.06 資料儲存6.1 獨立儲存 6.1.1 獨立儲存概述 6.1.2 最佳實作 6.2 動手實作 — 獨立儲存實戰 6.3 本機資料庫 6.3.1 定義資料上下文 6.3.2 資料庫查詢 6.3.3 插入資料 6.3.4 更新資料 6.3.5 刪除資料 6.3.6 更改資料庫架構 6.3.7 資料庫安全 6.4 動手實作 — 本機資料庫 6.4.1 開發環境設定 6.4.2 MVVM 設計模型 6.4.3 增加參考 6.4.4 建立模型Model 6.4.5 建立ViewModel 6.4.6 建立View 6.4.7 偵錯應用程式 Chapter.07 推送通知(Push Notifications)7.1 推送通知概述 7.2 推送通知的工作原理 7.3 推送通知的型態 7.3.1 Toast 通知 7.3.2 Tile 通知 7.3.3 Raw 通知 7.3.4 推送通知型態選擇7.4 動手實作 — sub-tiles and deep toast 通知(Windows Phone Mango) 7.4.1 開發前提 7.4.2 Sub-Tiles 7.4.3 Deep toast 通知 7.5 動手實作 — 深度分析推送通知實現架構 7.5.1 Windows Phone 推送通知型態 7.5.2 推送通知的工作流7.5.3 推送通知的訊息類別 7.5.4 發送Tile 通知 7.5.5 發送Toast 通知 7.5.6 發送Raw 通知 7.5.7 使用者端設定啟動推送通知 7.5.8 Web Service 設定推送通知功能 Chapter.08 必應地圖 — 導覽先鋒8.1 Windows Phone 必應地圖概述 8.2 動手實作 — 必應地圖導覽 8.2.1 先決條件 8.2.2 建立必應地圖導覽專案8.2.3 綁定金鑰 8.2.4 航測圖模式和路線圖模式 8.2.5 設定地圖中心位置8.2.6 建立大頭針(pushpin)圖層 8.2.7 訂製大頭針樣式 8.2.8 放大縮小按鈕 8.2.9 水平和垂直檢視的設定8.2.10 計算導覽路線 8.2.11 測試應用程式 8.3 必應地圖開發資源 8.3.1 開發者資源 8.3.2 帳戶存取問題 Chapter.09 資料綁定9.1 資料綁定概述 9.2 綁定單項資料 9.3 使用資料模版綁定資料物件集 9.3.1 定義資料來源 9.3.2 建立資料模版 9.3.3 資料轉換 Chapter.10 排程作業(Scheduled Actions)10.1 排程作業(Scheduled Actions) 10.1.1 排程通知 10.1.2 排程工作 10.2 動手實作 — 提醒(Reminders) 10.2.1 建立提醒的顯示清單 10.2.2 建立增加提醒的頁面 10.2.3 建立提醒啟動頁面10.2.4 偵錯應用程式 Chapter.11 全景(Panorama)和樞軸(Pivot)11.1 全景(Panorama)控制項介紹 11.1.1 外觀和感覺 11.1.2 全景體驗控制項構成 11.1.3 最佳實作 11.2 動手實作 — Windows Phone 官方網誌使用者端 11.2.1 設定應用程式啟動圖示並增加資源檔 11.2.2 首頁畫面和事件處理 11.2.3 增加參考和服務 11.2.4 設計製作全景檢視及其事件處理 11.2.5 程式執行結果 11.3 樞軸(Pivot)控制項介紹 11.3.1 樞軸的外觀和感覺11.3.2 樞軸控制項構成 11.3.3 樞軸最佳實作 11.4 動手實作 — Windows Phone 官方博文使用者端(Pivot 版) 11.5 全景控制項和樞軸控制項的比較 Chapter.12 啟動器和選擇器12.1 啟動器與選擇器概述 12.2 Windows Phone 模擬器對啟動器和選擇器的支援 12.3 動手實作 — 啟動器和選擇器的應用 12.3.1 啟動器之EmailComposeTask(Email 發送功能) 12.3.2 啟動器之PhoneCallTask(撥打電話) 12.3.3 啟動器之SerachTask(查詢關鍵字) 12.3.4 啟動器之SmscomposeTask(簡訊發送功能) 12.3.5 啟動器之Web Search Task(瀏覽器) 12.3.6 啟動器之MediaPlayerLanucher(媒體播放機) 12.3.7 啟動器之MarketPlaceDetailTask(啟動MarketPlace 應用) 12.3.8 啟動器之MarketplaceHubTask(連線到Marketplace) 12.3.9 啟動器之MarketplaceReviewTask(連到Marketplace 頁面) 12.3.10 啟動器之MarketPlaceSearchTask(搜尋Marketplace 上的應用) 12.3.11 選擇器之CameraCaptureTask(拍照) 12.3.12 選擇器之EmailAddressChooserTask(取得Email 資料) 12.3.13 選擇器之PhoneNumberChooserTask(選擇電話號碼) 12.3.14 選擇器之PhotoChooserTask(選擇圖片) 12.3.15 選擇器之SaveEmailAddressTask(儲存Email 資訊) 12.3.16 選擇器之SavePhoneNumberTask(儲存電話號碼) Chapter.13 應用程式生命週期(Application Lifecycle)13.1 應用程式生命週期 13.1.1 程式生命週期概述13.1.2 應用程式生命週期相關的術語 13.1.3 應用程式生命週期模型13.2 邏輯刪除 13.2.1 導致邏輯刪除發生的操作 13.2.2 10 秒鐘原則 13.3 XNA Game Studio 邏輯刪除 13.3.1 概述 13.3.2 與Silverligh 邏輯刪除的區別 13.3.3 判斷重新啟動的方法 13.3.4 區別遊戲停用或者重新啟動的事件 13.3.5 儲存和載入瞬態資料 13.3.6 儲存和載入持久資料 13.3.7 在Windows Phone 模擬器中偵錯 13.4 動手實作 — 快速應用切換 13.4.1 檢測快速應用切換(FAS) 13.4.2 強制邏輯刪除 13.5 動手實作 — 應用程式 " 足跡" 13.5.1 開發前提 13.5.2 建立使用者介面 13.5.3 建立應用程式執行邏輯13.5.4 邏輯刪除處理流程13.6 Windows Phone OS 7Chapter.14 MVVM 設計模式的應用14.1 MVVM 設計模式概述 14.2 動手實作 — 應用MVVM 設計模式的數獨遊戲 14.2.1 建立應用程式 14.2.2 ViewModelBase 類別 14.2.3 實現各個方格 14.2.4 實現GameBoard 14.2.5 實現輸入檢視 14.2.6 整合檢視 14.3 協力廠商MVVM 框架 14.3.1 MVVM Light Toolkit 14.3.2 Ultra Light MVVM for Windows Phone 7 14.3.3 Simple MVVM Toolkit 第3篇 XNA 遊戲篇Chapter.15 遊戲開發新功能15.1 Mango 新功能概述 15.1.1 Silverlight 和XNA 的整合15.1.2 執行模型和應用程式快速切換 15.1.3 Windows Phone 事件探查器 15.1.4 Combined Motion API 15.2 跨平台編譯 15.3 性能最佳化 15.3.1 硬體性能 15.3.2 執行效率 15.4 讀寫資料 15.5 動手實作 — 組合Silverlight 和XNA 框架的3D 應用 15.5.1 新增遊戲應用程式15.5.2 載入3D 類別 15.5.3 載入3D 圖形 15.5.4 載入Sivlerlight 控制項 15.5.5 事件處理 15.5.6 著色Silverlight 控制項 15.5.7 在模擬器中執行 Chapter.16 XNA 二維動作遊戲開發16.1 遊戲設計之初的思考 16.1.1 遊戲設計流程圖 16.2 建立遊戲角色 16.2.1 新增遊戲應用程式16.2.2 遊戲角色 — 飛艇 16.2.3 飛艇的控制 16.2.4 遊戲的視差背景 16.2.5 建立萬惡的敵人 16.2.6 計算碰撞 16.2.7 建立飛艇的武器 — 導彈16.2.8 實現爆炸效果 16.2.9 遊戲音樂 16.2.10 在模擬器中執行 Chapter.17 Visual Basic 開發XNA17.1 Visual Basic 支援XNA 開發 17.1.1 建立Visual Basic 的Windows Phone 專案 17.1.2 專案屬性 17.1.3 參考 17.1.4 內容參考 17.1.5 Background17.1.6 Game117.1.7 Game117.1.8 PhoneGameThumb17.1.9 ProgramChapter.18 XNA 3D 模型展示18.1 概述 18.2 動手實作 — XNA 3D 模型應用程式 18.2.1 應用背景傳輸服務18.2.2 載入XNA 3D 模型 18.2.3 在模擬器中執行