第1 篇 基礎篇
Chapter.01 初識廬山真面目 — Windows Phone Mango
1-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 7
Chapter.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 開發XNA
17.1 Visual Basic 支援XNA 開發
17.1.1 建立Visual Basic 的Windows Phone 專案
17.1.2 專案屬性
17.1.3 參考
17.1.4 內容參考
17.1.5 Background
17.1.6 Game1
17.1.7 Game1
17.1.8 PhoneGameThumb
17.1.9 Program
Chapter.18 XNA 3D 模型展示
18.1 概述
18.2 動手實作 — XNA 3D 模型應用程式
18.2.1 應用背景傳輸服務
18.2.2 載入XNA 3D 模型
18.2.3 在模擬器中執行