目 录
第1章 Windows Phone 7介绍 ............ 1
1.1 Windows Mobile平台 .................. 2
1.1.1 iPhone的出现 .......................... 2
1.1.2 Android问世 ............................ 3
1.1.3 Microsoft重新进入市场 .......... 3
1.2 Windows Phone 7平台 ................ 4
1.2.1 Windows Phone 7的硬件 规范 .......................................... 4
1.2.2 Windows Phone 7的体系 结构 .......................................... 5
1.3 开始进行Windows Phone 7 开发 .............................................. 9
1.4 小结 ............................................ 16
第2章 借助Silverlight创建炫丽的 应用程序 ................................. 19
2.1 Windows Phone 7的开发需求 .... 20
2.2 什么是Silverlight ....................... 20
2.2.1 什么是XAML ........................ 21
2.2.2 Windows Phone应用程序的 结构 ........................................ 22
2.2.3 Silverlight控件与开发 ........... 29
2.2.4 常用控件属性 ........................ 30
2.2.5 布局控件 ................................ 32
2.2.6 Silverlight编程 ...................... 39
2.2.7 交互控件 ................................ 42
2.3 小结 ............................................ 56
第3章 使用形状、颜色、笔刷和变换 美化应用程序 .......................... 59
3.1 创建形状 .................................... 59
3.1.1 Ellipse控件 ............................ 60
3.1.2 Rectangle控件 ....................... 61
3.1.3 Line控件 ................................ 62
3.1.4 Polygon控件 .......................... 66
3.1.5 Polyline控件 .......................... 67
3.2 使用颜色 ..................................... 68
3.3 使用笔刷 ..................................... 71
3.3.1 SolidColorBrush对象 ............ 71
3.3.2 LinearGradientBrush对象 ...... 71
3.3.3 RadialGradientBrush对象 ...... 73
3.3.4 ImageBrush对象 .................... 74
3.4 应用变换 ..................................... 75
3.4.1 RotateTransform对象 ............ 75
3.4.2 ScaleTransform对象 .............. 77
3.4.3 SkewTransform控件 .............. 78
3.4.4 TranslateTransform对象 ........ 78
3.4.5 TransformGroup对象 ............. 81
3.5 小结 ............................................. 88
第4章 高级用户界面技术:样式、模板 和Visual State Manager......... 89
4.1 了解控件样式 ............................. 90
4.1.1 应用程序样式......................... 91
4.1.2 BaseOn样式 ........................... 97
4.1.3 控件模板 ................................ 98
4.1.4 Visual State Manager ........... 105
4.1.5 Expression Blend ................. 114
4.1.6 用户控件 ............................. 115
4.1.7 自定义控件 ......................... 118
4.2 小结 ........................................... 130
第5章 独立存储、页面导航和应用程序 生命周期 ............................... 133
5.1 独立存储 ................................... 134
5.1.1 Windows Phone 7数据存储的 工作原理.............................. 134
5.1.2 开始使用独立存储 .............. 135
Windows Phone 7 入门经典:使用 Silverlight 和 XNA 开发Windows Phone 应用
X
5.1.3 IsolatedStorageSettings 对象 ..................................... 135
5.1.4 IsolatedStorageFile对象 ..... 136
5.2 使用导航框架 .......................... 141
5.2.1 了解导航框架 ..................... 141
5.2.2 NavigationService类 ........... 142
5.2.3 查询字符串 ......................... 142
5.2.4 导航事件 ............................. 143
5.2.5 页面状态 ............................. 143
5.3 应用程序生命周期 .................. 152
5.3.1 启动状态 ............................. 152
5.3.2 运行状态 ............................. 153
5.3.3 关闭状态 ............................. 153
5.3.4 停用状态 ............................. 153
5.3.5 激活状态 ............................. 154
5.4 小结 .......................................... 165
第6章 与硬件交互 ............................167
6.1 移动设备应用程序开发的 区别是什么 .............................. 168
6.2 Windows Phone 7硬件规范 .... 169
6.3 更改设备方向 .......................... 169
6.3.1 配置应用程序支持的 方向 ..................................... 170
6.3.2 响应方向变化 ..................... 170
6.3.3 设备方向的最佳实践 ......... 176
6.4 了解Back按钮 ........................ 176
6.4.1 使用Back按钮的功能 ....... 176
6.4.2 响应Back按钮 ................... 177
6.5 振动 .......................................... 181
6.6 收听FM收音机 ....................... 182
6.7 用加速计加速 .......................... 182
6.7.1 AccelerometerSensor 传感器 ................................. 183
6.7.2 模拟加速计数据 ................. 192
6.8 小结 .......................................... 201
第7章 启动器、选择器和高级用户 输入 .......................................205
7.1 使用应用程序栏 ...................... 206
7.1.1 添加应用程序栏.................. 207
7.1.2 应用程序栏的最佳实践 ...... 220
7.2 使用启动器和选择器 ............... 220
7.2.1 启动器概述 ......................... 221
7.2.2 选择器概述 ......................... 221
7.2.3 墓碑化 ................................. 222
7.2.4 使用联系人 ......................... 223
7.2.5 打电话 ................................. 229
7.2.6 使用电子邮件和SMS 消息 ..................................... 229
7.2.7 与相机进行交互.................. 230
7.2.8 使用其他启动器.................. 231
7.3 软件输入面板 ........................... 237
7.4 使用多点触摸 ........................... 238
7.4.1 模拟多点触摸...................... 239
7.4.2 操作事件 ............................. 239
7.4.3 使用手势 ............................. 248
7.5 小结 ........................................... 249
第8章 Windows Phone 7服务与 云服务 ................................... 251
8.1 什么是服务 ............................... 252
8.2 借助位置服务确定自己的 位置 .......................................... 253
8.2.1 对位置数据源的概述 和比较 ................................. 253
8.2.2 获取位置信息...................... 254
8.2.3 位置服务的最佳实践 .......... 266
8.3 使用云服务 ............................... 267
8.3.1 使用微软云数据.................. 267
8.3.2 在Windows Phone 7应用 中使用必应地图 .................. 269
8.4 小结 ........................................... 274
第9章 创建和使用Web服务 ........... 277
9.1 服务体系结构的基础知识 ....... 277
9.1.1 HTTP ................................... 278
9.1.2 REST .................................... 279
9.1.3 WCF ..................................... 279
9.2 Web请求和响应 ...................... 280
目 录
XI
9.2.1 使用WebClient ................... 280
9.2.2 使用WebRequest和 WebResponse ....................... 280
9.2.3 缓存响应 ............................. 286
9.3 基于REST的服务 ................... 287
9.3.1 使用RESTful服务 ............. 287
9.3.2 创建RESTful服务 ............. 296
9.4 WCF服务 ................................. 296
9.4.1 用于创建WCF服务的 工具 ..................................... 296
9.4.2 托管WCF服务 ................... 296
9.4.3 创建WCF服务 ................... 296
9.4.4 WCF服务的示例应用 程序 ..................................... 297
9.4.5 WCF REST服务 ................. 310
9.5 小结 .......................................... 313
第10章 Web服务推送通知 ..............317
10.1 推送通知架构 ........................ 318
10.1.1 推送通知组件 ................. 318
10.1.2 注册推送通知服务 ......... 318
10.1.3 创建并打开通知通道 ..... 319
10.1.4 推送通知的类型 ............. 319
10.2 发送与响应推送通知............. 321
10.2.1 通知通道的创建和 配置 ................................. 321
10.2.2 发送推送通知服务 消息 ................................. 328
10.2.3 创建推送通知服务 ......... 331
10.3 小结 ........................................ 340
第11章 Windows Phone 7上的XNA 平台 .....................................343
11.1 XNA概述 ............................... 343
11.2 XNA游戏:Tank ................... 344
11.2.1 解决方案中的内容.......... 346
11.2.2 Game类 ........................... 347
11.2.3 运行Tank游戏................ 351
11.2 绘制2-D图形 ........................ 352
11.2.1 SpriteBatch类 .................. 352
11.2.2 ContentManager类 .......... 353
11.2.3 绘制图像的方法 .............. 353
11.2.4 绘制文本的方法 .............. 357
11.3 更新游戏状态 ......................... 360
11.3.1 向量运算 .......................... 361
11.3.2 保持同步 .......................... 363
11.3.3 TouchPanel类 .................. 364
11.3.4 驾驶坦克 .......................... 364
11.4 使用游戏组件简化 代码 ........................................ 369
11.4.1 GameComponent和Drawable- GameComponent类 ........ 369
11.4.2 GameComponent的生命 周期 ................................. 382
11.5 更多的XNA经验和技巧 ...... 382
11.5.1 高效处理大量对象 .......... 382
11.5.2 播放声音 .......................... 389
11.5.3 高等几何图形:制导 导弹 ................................. 390
11.5.4 非可视组件 ...................... 392
11.5.5 检测碰撞 .......................... 394
11.5.6 使用阴影渲染平滑的 文本 ................................. 396
11.6 小结 ......................................... 398
第12章 Expression Blend ............... 401
12.1 Blend界面 .............................. 402
12.2 创建窗体 ................................. 404
12.2.1 添加布局面板 ................. 404
12.2.2 添加控件 ......................... 405
12.2.3 编辑属性 ......................... 406
12.2.4 修改可视化设计.............. 409
12.2.5 添加可视化元素.............. 410
12.2.6 修改属性 ......................... 410
12.3 主题和资源 ............................. 413
12.3.1 管理资源 ......................... 413
12.3.2 使用样式重用代码.......... 414
12.3.3 编辑控件模板 ................. 416
12.4 动画 ......................................... 417
Windows Phone 7 入门经典:使用 Silverlight 和 XNA 开发Windows Phone 应用
XII
12.4.1 使用情节提要管理 动画 ................................. 417
12.4.2 可视状态 ......................... 420
12.5 Blend中的数据绑定 .............. 422
12.5.1 绑定到数据上下文 ......... 422
12.5.2 绑定到元素 ..................... 423
12.5.3 在Blend的美工板上放置 样本数据 ......................... 423
12.6 小结 ........................................ 426
第13章 使用Silverlight for Windows Phone Tookit并创建全景 用户界面 .............................429
13.1 Silverlight for Windows Phone Toolkit概述 ............................ 430
13.2 Silverlight for Windows Phone Toolkit中的控件 .................... 430
13.2.1 AutoCompleteBox 控件 ................................. 431
13.2.2 DatePicker控件 ............... 435
13.2.3 TimePicker控件 .............. 436
13.2.4 ContextMenu控件 .......... 437
13.3 Silverlight for Windows Phone Toolkit的页面过渡 ................ 439
13.4 Silverlight for Windows Phone Toolkit的手势 ........................ 441
13.5 Panorama控件 ....................... 443
13.6 小结 ........................................ 448
第14章 模式、框架和测试 ...............451
14.1 使用模式 ................................ 452
14.1.1 使用架构模式 ................. 452
14.1.2 使用MVVM进行 开发 ................................. 453
14.1.3 关联视图和视图模型 ..... 454
14.1.4 更改通知需求 ................. 454
14.2 使用MVVM框架 .................. 470
14.2.1 MVVM框架的功能........ 471
14.2.2 寻找合适的框架 ............. 472
14.3 添加单元测试 ........................ 472
14.3.1 手动单元测试 ................. 473
14.3.2 单元测试框架 ................. 475
14.3.3 模拟依赖关系 ................. 479
14.3.4 对MVVM应用程序进行 单元测试 ......................... 480
14.3.5 测试驱动开发 ................. 480
14.4 小结 ......................................... 481
第15章 发布应用程序 ...................... 483
15.1 Marketplace和App Hub ........ 483
15.2 加入App Hub ......................... 484
15.2.1 完成身份验证过程.......... 485
15.2.2 设置收款人信息.............. 485
15.3 提交要发布的应用程序 ......... 486
15.3.1 上传XAP文件 ............... 486
15.3.2 描述应用程序 ................. 487
15.3.3 添加插图 ......................... 488
15.3.4 设定应用程序的价格 ...... 489
15.3.5 提交应用程序 ................. 489
15.4 测试应用程序 ......................... 489
15.5 提供试用模式 ......................... 490
15.6 增加应用程序的销量 ............. 493
15.6.1 Window Phone 7的 目标市场 ......................... 494
15.6.2 制造深刻印象 ................. 495
15.6.3 散播消息 ......................... 497
15.6.4 合适的价格 ..................... 499
15.6.5 利用契机 ......................... 499
15.6.6 获得反馈 ......................... 500
15.7 小结 ......................................... 500
附录 练习题答案................................ 503
· · · · · · (
收起)