Windows 8应用开发权威指南.pdf

Windows 8应用开发权威指南.pdf
 

书籍描述

编辑推荐
《Windows 8应用开发权威指南》编辑推荐:表达细致平和、通俗易懂,讲解了Windows应用商店应用开发的方方面面,涵盖开发环境的搭建,开发工具的使用和应用的发布。

作者简介
冯瑞涛,来自黑龙江省东南部小城鸡西市。在北京生活的8年时间里一直从事软件研发及项目管理工作,对Windows系统相关的开发技术有着浓厚的兴趣,特别是对移动互联网及服务器相关的技术,并为微软强大且易用的开发工具和服务器软件而着迷,业余时间喜欢与社区的伙伴们分享和交流技术心得。多年忙碌的工作没有让他放弃学习,也没有忘记上学时曾许下写一本图书的愿望。
闫妍,软件开发工程师,专注于移动互联网和云计算,对移动终端设备应用的界面设计及自动化测试有深入研究,熟悉Windows Phone、Android、iOS平台应用开发技术。

目录
前言
第1章 初识Windows 8 / 1
1.1 Windows 8系统介绍 / 1
1.1.1 Windows 8新特性 / 1
1.1.2 Surface平板电脑 / 2
1.1.3 Windows 8与Windows Phone 8 / 3
1.1.4 Windows应用商店应用的开发特点 / 4
1.2 Windows 8 Metro风格用户界面介绍 / 4
1.2.1 Windows 8 开始屏 / 5
1.2.2 Windows 8 Metro风格界面设计思想 / 7
1.2.3 Windows 8 Metro风格界面与传统Windows界面比较 / 7
1.3 Windows应用商店应用新特征 / 10
1.4 Windows应用商店 / 11
1.5 Windows应用商店应用一览 / 12
1.6 本章小结 / 14
第2章 应用开发环境 / 16
2.1 开发工具 / 16
2.1.1 Visual Studio 2012 / 16
2.1.2 Blend for Visual Studio 2012 / 18
2.2 开发环境搭建 / 19
2.2.1 Windows 8系统的安装 / 19
2.2.2 Visual Studio 2012的安装 / 21
2.2.3 IIS 8.0服务器安装 / 23
2.2.4 获取更多开发工具与扩展 / 24
2.2.5 获取开发者授权 / 26
2.3 Visual Studio 2012使用入门 / 26
2.3.1 菜单栏 / 26
2.3.2 工具箱 / 26
2.3.3 “属性”面板 / 27
2.3.4 解决方案资源管理器 / 27
2.3.5 设计器 / 28
2.3.6 代码编辑器 / 29
2.3.7 “输出”面板 / 30
2.4 开发第一个Windows应用商店应用 / 30
2.4.1 开发技术选择 / 31
2.4.2 新建一个Windows应用商店应用 / 31
2.4.3 本地计算机调试 / 32
2.4.4 模拟器调试 / 33
2.5 配置远程调试 / 34
2.5.1 下载并安装远程调试工具 / 34
2.5.2 配置远程调试监视器 / 34
2.5.3 配置远程调试客户端 / 36
2.6 账号注册 / 37
2.6.1 将Microsoft账户与DreamSpark绑定 / 37
2.6.2 获取Windows 应用商店开发者注册码 / 39
2.6.3 注册Windows应用商店 / 40
2.6.4 验证付款方式 / 42
2.7 应用程序发布 / 44
2.8 本章小结 / 52
第3章 XAML基础 / 53
3.1 XAML的起源 / 53
3.2 XAML基础知识 / 53
3.2.1 命名空间 / 54
3.2.2 元素定义 / 54
3.2.3 属性设置 / 55
3.2.4 标记扩展 / 57
3.2.5 类型转换 / 60
3.2.6 资源字典 / 60
3.2.7 依赖项属性和添加属性 / 64
3.2.8 事件 / 66
3.3 XAML外观设计 / 70
3.3.1 样式 / 70
3.3.2 模板 / 72
3.3.3 画刷 / 75
3.3.4 动画 / 76
3.4 本章小结 / 77
第4章 应用控件 / 78
4.1 按钮控件 / 78
4.1.1 Button控件 / 78
4.1.2 HyperlinkButton控件 / 80
4.2 选择控件 / 81
4.2.1 CheckBox控件 / 81
4.2.2 ComboBox控件 / 83
4.2.3 ListBox控件 / 85
4.2.4 RadioButton控件 / 86
4.2.5 Slider控件 / 88
4.2.6 ToggleSwitch控件 / 90
4.3 文本编辑控件 / 91
4.3.1 TextBox控件 / 91
4.3.2 PasswordBox控件 / 92
4.3.3 RichEditBox控件 / 95
4.4 信息显示控件 / 96
4.4.1 TextBlock控件 / 97
4.4.2 Image控件 / 98
4.4.3 ProgressBar控件 / 99
4.4.4 ProgressRing控件 / 100
4.4.5 ToolTip控件 / 100
4.4.6 Popup控件 / 101
4.4.7 WebView控件 / 103
4.5 内容布局控件 / 105
4.5.1 ScrollViewer控件 / 105
4.5.2 SemanticZoom控件 / 106
4.5.3 ListView控件 / 108
4.6 自定义控件 / 110
4.7 扩展控件 / 114
4.7.1 扩展控件安装 / 114
4.7.2 Telerik UI Controls for Windows 8 / 114
4.8 本章小结 / 121
第5章 界面布局与导航 / 122
5.1 界面系统 / 122
5.1.1 视图模式 / 122
5.1.2 侧边栏 / 126
5.1.3 快捷菜单 / 130
5.1.4 提示框 / 132
5.1.5 锁屏背景 / 135
5.2 界面布局 / 137
5.2.1 界面布局介绍 / 138
5.2.2 Canvas / 138
5.2.3 StackPanel / 140
5.2.4 Grid / 142
5.3 项目模板 / 145
5.3.1 空白项目模板 / 145
5.3.2 拆分布局项目模板 / 150
5.3.3 网格布局项目模板 / 152
5.4 页面导航 / 153
5.4.1 页面间导航 / 154
5.4.2 页面间传递信息 / 155
5.4.3 页面缓存 / 157
5.4.4 全局方式传值 / 158
5.4.5 外部页面 / 160
5.5 本章小结 / 162
第6章 数据绑定 / 163
6.1 数据绑定概述 / 163
6.2 数据绑定分类 / 164
6.2.1 单条数据绑定 / 164
6.2.2 集合对象绑定 / 170
6.2.3 分层数据绑定 / 174
6.3 数据模板 / 178
6.4 详细视图 / 180
6.5 数据转换 / 182
6.6 绑定方式 / 186
6.7 绑定设计器 / 190
6.8 依赖项属性 / 193
6.9 本章小结 / 197
第7章 推送通知 / 198
7.1 推送通知概述 / 198
7.1.1 推送通知流程 / 198
7.1.2 推送通知示例 / 206
7.1.3 WNS使用要求与规范 / 216
7.1.4 通知类型 / 217
7.2 Tile 通知 / 217
7.2.1 设计默认Tile / 218
7.2.2 发送Tile通知 / 219
7.2.3 在同一通知中指定宽形和矩形Tile更新 / 220
7.2.4 Tile通知队列 / 222
7.2.5 清理Tile通知 / 225
7.2.6 检查Tile通知设置 / 225
7.2.7 Tile通知模板 / 226
7.2.8 二级Tile / 237
7.3 Badge 通知 / 243
7.3.1 Badge通知模板 / 244
7.3.2 发送Badge通知 / 245
7.3.3 清理Badge通知 / 246
7.4 Toast 通知 / 246
7.4.1 启用Toast通知功能 / 246
7.4.2 发送Toast通知 / 247
7.4.3 Toast通知模板 / 249
7.5 Raw通知 / 252
7.5.1 Raw通知简介 / 252
7.5.2 Raw通知示例 / 253
7.6 锁屏显示通知 / 262
7.7 本章小结 / 263
第8章 图形与画刷 / 264
8.1 简单图形 / 264
8.1.1 线形 / 264
8.1.2 矩形 / 265
8.1.3 椭圆 / 266
8.1.4 多边形 / 267
8.1.5 多线形 / 268
8.2 路径 / 269
8.2.1 Path / 270
8.2.2 PathGeometry / 271
8.3 复杂几何图形 / 273
8.3.1 LineGeometry / 273
8.3.2 RectangleGeometry / 275
8.3.3 EllipseGeometry / 276
8.3.4 GeometryGroup / 277
8.4 轮廓样式 / 279
8.4.1 线的两端效果 / 279
8.4.2 图形拐角处的效果 / 280
8.4.3 虚线样式 / 282
8.5 画刷 / 283
8.5.1 单色画刷 / 284
8.5.2 线性渐变画刷 / 285
8.5.3 图像画刷 / 287
8.6 本章小结 / 288
第9章 多媒体 / 289
9.1 多媒体开发概述 / 289
9.2 图像 / 289
9.2.1 Image和ImageBrush / 289
9.2.2 Image开发示例 / 293
9.3 音频和视频 / 296
9.3.1 MeidaElement控件介绍 / 297
9.3.2 MediaElement控件的基本使用 / 299
9.3.3 MeidaElement控件的状态管理 / 304
9.3.4 MeidaElement控件的常用功能 / 307
9.4 音频与视频处理 / 311
9.4.1 音频和视频媒体文件转码 / 312
9.4.2 剪辑音频和视频媒体文件 / 316
9.5 本章小结 / 317
第10章 动画效果 / 318
10.1 控件动画 / 318
10.2 过渡动画 / 319
10.3 演示图板 / 323
10.3.1 主题动画 / 323
10.3.2 插值动画 / 325
10.3.3 关键帧动画 / 328
10.4 3D特效 / 333
10.4.1 旋转特效 / 333
10.4.2 旋转中心 / 336
10.4.3 偏移特效 / 337
10.5 变形特效 / 340
10.5.1 平移变形 / 340
10.5.2 旋转变形 / 341
10.5.3 缩放变形 / 343
10.5.4 扭曲变形 / 344
10.5.5 组合变形 / 345
10.5.6 矩阵变形 / 346
10.6 缓冲动画 / 347
10.7 本章小结 / 351
第11章 多线程与后台任务 / 352
11.1 使用任务实现多线程 / 352
11.2 后台传输 / 359
11.2.1 后台传输简介 / 359
11.2.2 下载文件 / 359
11.2.3 上传文件 / 367
11.2.4 成本控制 / 374
11.3 后台任务 / 374
11.3.1 后台任务简介 / 374
11.3.2 使用后台任务 / 375
11.3.3 管理后台任务 / 380
11.3.4 后台任务的资源管理 / 382
11.3.5 实例解析 / 383
11.4 后台音频播放 / 389
11.4.1 音频流类型 / 389
11.4.2 BackgroundCapableMedia音频流 / 390
11.4.3 Communications音频流 / 396
11.5 锁屏应用 / 396
11.5.1 锁屏应用简介 / 397
11.5.2 实例解析 / 397
11.6 本章小结 / 404
第12章 传感器 / 405
12.1 响应运动的传感器 / 405
12.1.1 陀螺仪 / 405
12.1.2 加速计 / 410
12.1.3 侧斜仪 / 414
12.2 检测方向的传感器 / 417
12.2.1 指南针 / 417
12.2.2 方向传感器 / 420
12.2.3 确定设备方向 / 423
12.3 氛围光传感器 / 426
12.4 探测用户位置 / 428
12.5 近场通信 / 432
12.6 本章小结 / 437
第13章 文件与数据存储 / 438
13.1 应用程序的数据存储 / 438
13.1.1 应用程序存储空间 / 439
13.1.2 应用程序安装目录 / 442
13.1.3 应用设置存储 / 445
13.2 用户库操作 / 446
13.2.1 API参考 / 447
13.2.2 用户库文件操作 / 448
13.2.3 用户库文件夹操作 / 449
13.2.4 获取文件及文件夹列表 / 450
13.2.5 用户库文件分组 / 451
13.3 文件访问方式 / 453
13.3.1 访问应用内部文件 / 453
13.3.2 文件选取器 / 453
13.3.3 近期访问列表 / 455
13.4 应用间文件访问 / 456
13.5 获取联系人信息 / 460
13.6 SQLite数据库简介 / 464
13.6.1 配置SQLite数据库 / 464
13.6.2 创建SQLite数据库 / 465
13.6.3 数据库的基本操作 / 469
13.7 数据的加密与解密 / 473
13.7.1 常用类、方法和属性 / 473
13.7.2 数据操作 / 474
13.7.3 加密解密 / 477
13.8 本章小结 / 485
第14章 网络通信 / 486
14.1 HTTP请求 / 486
14.1.1 HttpClient / 486
14.1.2 HttpWebRequest / 489
14.1.3 微软翻译示例 / 489
14.2 WCF数据服务 / 493
14.2.1 创建WCF服务 / 494
14.2.2 使用WCF服务 / 496
14.3 Socket通信 / 498
14.3.1 Socket入门 / 498
14.3.2 使用Socket连接 / 499
14.4 访问网络数据资源 / 504
14.4.1 Web订阅简介 / 504
14.4.2 访问Web订阅源 / 504
14.5 Live Connect / 509
14.5.1 Live Connect配置 / 509
14.5.2 读取SkyDrive的相册和照片 / 510
14.5.3 SkyDrive文件的上传与删除 / 516
14.6 对等连接通信 / 519
14.6.1 对等连接简介 / 519
14.6.2 使用对等连接通信传递消息 / 519
14.7 本章小结 / 530
第15章 生命周期管理 / 531
15.1 Windows应用商店应用的生命周期介绍 / 531
15.1.1 状态转换 / 531
15.1.2 挂起事件 / 532
15.1.3 恢复事件 / 532
15.1.4 激活事件 / 532
15.2 生命周期事件处理 / 533
15.2.1 应用挂起 / 533
15.2.2 应用恢复 / 534
15.2.3 应用激活 / 534
15.3 实例解析 / 535
15.3.1 功能实现 / 535
15.3.2 管理应用生命周期 / 537
15.4 应用自启动 / 542
15.4.1 设置默认打开程序 / 542
15.4.2 启动系统的默认应用 / 546
15.5 本章小结 / 549
第16章 地图应用 / 550
16.1 地理信息系统介绍 / 550
16.2 Bing Maps实例开发 / 551
16.2.1 Bing Maps SDK简介 / 551
16.2.2 注册Bing Maps Key / 554
16.2.3 创建Bing Maps项目 / 555
16.2.4 地图功能应用 / 556
16.3 百度地图实例开发 / 565
16.3.1 百度API介绍 / 565
16.3.2 注册开发者ID / 567
16.3.3 实例解析 / 568
16.4 本章小结 / 576
第17章 外部设备 / 577
17.1 打印机 / 577
17.1.1 编辑打印内容和打印设置 / 577
17.1.2 打印预览 / 581
17.1.3 打印 / 584
17.2 麦克风和摄像头 / 585
17.2.1 麦克风 / 586
17.2.2 摄像头 / 590
17.3 手写输入 / 597
17.3.1 手写输入功能 / 597
17.3.2 设置笔画属性 / 605
17.3.3 清除和保存功能 / 606
17.4 存储设备的自动播放 / 608
17.4.1 自动播放事件 / 608
17.4.2 自动播放的使用 / 610
17.5 访问移动存储设备 / 616
17.6 设备状态检测 / 622
17.6.1 设备状态检测方法 / 622
17.6.2 枚举设备 / 622
17.6.3 监视设备 / 628
17.7 本章小结 / 634
第18章 全球化 / 635
18.1 全球化概述 / 635
18.2 资源引用 / 635
18.2.1 在XAML元素中引用字符串资源 / 635
18.2.2 在XAML元素中引用文件资源 / 637
18.2.3 在后台代码中引用字符串资源 / 638
18.2.4 引用分离资源文件中的资源 / 640
18.2.5 引用类库资源 / 641
18.3 语言设置 / 645
18.3.1 运行时响应语言变更 / 645
18.3.2 应用中设置语言选项 / 646
18.3.3 设置指定页面的语言 / 650
18.3.4 资源匹配规则 / 652
18.4 全球化示例 / 656
18.5 多语言应用工具包 / 662
18.5.1 使用步骤 / 663
18.5.2 示例讲解 / 663
18.6 本章小结 / 667
第19章 JavaScript开发Windows应用商店应用 / 668
19.1 JavaScript开发Windows应用商店应用基础 / 668
19.1.1 JavaScript与HTML5开发的相关介绍 / 668
19.1.2 项目模板和项模板 / 673
19.1.3 项目模板中的文件和项模板文件 / 678
19.1.4 控件的添加 / 682
19.1.5 WinJS库控件 / 685
19.1.6 小球运动示例 / 688
19.2 页面导航 / 691
19.2.1 页面加载 / 691
19.2.2 页内导航 / 693
19.3 数据绑定 / 697
19.3.1 简单对象绑定 / 697
19.3.2 模板绑定 / 699
19.4 访问文件和文件夹 / 701
19.4.1 文件选取器 / 702
19.4.2 选取文件和文件夹 / 702
19.4.3 获取文件和文件夹列表 / 707
19.4.4 写入和读取文件 / 709
19.5 动画和图形 / 714
19.5.1 动画 / 714
19.5.2 图形 / 726
19.6 多媒体 / 729
19.7 综合实例 / 732
19.8 本章小结 / 749
第20章 Visual C++开发Windows应用商店应用 / 750
20.1 C++/CX语法扩展 / 750
20.2 计时器 / 756
20.3 数据绑定 / 759
20.4 XML文件解析 / 761
20.5 文件选取 / 766
20.6 媒体播放 / 768
20.6.1 视频载入 / 768
20.6.2 播放控制 / 770
20.7 Direct2D编程 / 781
20.7.1 绘制几何图形 / 781
20.7.2 绘制图片 / 801
20.7.3 绘制文本 / 805
20.8 Direct3D编程 / 807
20.8.1 Direct3D开发基础 / 807
20.8.2 Direct3D项目模板介绍 / 811
20.8.3 Direct3D图形绘制 / 820
20.9 WinRT组件 / 821
20.9.1 编写WinRT组件 / 822
20.9.2 调用WinRT组件 / 824
20.10 本章小结 / 829
第21章 Windows应用商店应用实例开发 / 830
21.1 应用介绍 / 830
21.2 代码实现 / 830
21.2.1 项目创建和设置 / 831
21.2.2 程序入口 / 833
21.2.3 主框架 / 835
21.2.4 查词页面 / 837
21.2.5 生词本页面 / 858
21.2.6 生词播放页面 / 862
21.2.7 翻译页面 / 870
21.2.8 动态词典磁贴 / 876
21.3 本章小结 / 878

序言
经过近一年的准备和编写,《Windows 8应用开发权威指南》一书终于要与读者们见面了。本书在编写过程中经历了从Windows 8预览版到正式版的每一个阶段,而其中每一个新版本的发布都会带来名词和功能上的更新,例如必应地图、推送通知、Live SDK、远程调试工具等都在此过程中发布了多个版本。但读者不会在阅读时有所察觉。因为本书中的内容已经对所发生的变化进行了持续更新。
目前与Windows 8系统当中的应用商店应用开发相关的参考资料和图书还很少,截至本书发稿前还没有看到国内有与Windows应用商店应用开发相关的技术书籍发布或可接受预定,而国外的一些与Windows应用商店应用开发相关的书籍也大部分是在正式版发布之前编写的,且内容不是很丰富价格也比较贵。此外,在微软官方网站上所提供的技术参考资料读起来很吃力,其中还有部分代码存在着错误和缺失的问题。这给想要学习Windows应用商店应用开发的学习者带来困难的同时也给本书的编写带来了困难,作者一方面需要为陌生的名词找到合适的文字解释,另一方面为系统中所存在的缺陷寻找解决办法。
Windows应用商店应用的开发并不是一个容易掌握的技术,但如果读者在阅读本书的过程中,发现所讲述的内容并不难懂,甚至是简单的,那么编写这本书的初衷也就达到了。作者的愿望是可以通过细致平和、通俗易懂的表述方式讲解每一个技术细节,并结合示例帮助读者更好地理解它们,降低学习的时间成本和进入门槛,让基础并不是很好的读者可以有信心读完本书,并从中有所收获。为了做到这一点,在本书当中很少能看到超过两页的连续代码,因为书中的示例代码经过重新编排已分解成多个独立且容易理解的代码片段,去除了冗余和复杂的代码,并配有详细的代码注释和代码解释。作者在编写过程中认真思考其中的用词,不回避技术难点。为使内容保持连贯,书中没有采用变化多样的编写格式,始终以循序渐进的编排方式将每一章内容组织在一起,并让每一章都包含亮点,而不是让一页接着一页的代码占据书中的大部分篇幅,这种编排方式也使得本书相比一般技术图书在内容上增加了许多文字。
学习过Visual C#语言,特别是了解Silverlight、WPF、Windows Phone开发技术的读者学习本书会很顺利。对于有Windows应用商店应用开发经验的开发者,通过参考和学习书中详细的示例可以节省很多宝贵的开发时间。从事Web开发和C++开发的读者,在本书中可以学习如何使用所熟悉的JavaScript和Visual C++语言开发Windows应用商店应用。对于学习Windows Phone 8应用开发的读者,本书也是一本很好的参考资料。
在此之前作者一直想编写一本专著于应用软件开发并让自己感到满意的图书,而本书实现了作者的这个愿望。除应用软件开发之外,游戏软件开发同样占据着重要的地位,如果读者喜爱本书,相信有一天会有一本叫做“Windows 8游戏开发权威指南”的图书摆在书架上供读者选购和翻阅,依然采用与本书相似的语言表达方式,讲述如何为Windows应用商店开发游戏应用程序。
一本图书的编写离不开同事和朋友们的帮助,最后对为本书编写提供帮助的王学东、张林、默晓飞、于志远、赵魏、朱新向、孙震、赵广涛和段国辉表示感谢。
作者
2012年12月12日 北京

文摘
第1章 初识Windows 8
Windows 8是微软最新发布的基于平板电脑且与传统PC相兼容的新一代多平台操作系统。Windows 8操作系统在将平板电脑与传统PC相结合的同时,微软智能手机操作系统Windows Phone 8也采用了与Windows 8相同的内核,这意味着从此刻开始智能手机、平板电脑以及传统PC这三个大众所熟知的硬件设备的操作系统在Windows 8上实现了统一。
Windows 8系统的设计理念旨在让人们对电脑的日常操作变得更加简单和快捷,使用户手中的智能设备无论是在办公还是在娱乐时都能表现出色。为此微软在Windows 8操作系统中加入了很多新特性,例如,对平板电脑和传统PC设备的同时兼容、全新设计的Metro风格用户界面,支持ARM架构处理器,整合私有云服务以及内置Windows应用商店等,这些都成为了Windows 8系统的新亮点。
为配合Windows 8系统应用程序的开发,微软还同步推出了Visual Studio 2012来完整支持“Windows应用商店应用”的开发与调试。相信随着Windows 8系统的逐渐普及,会催生出一个潜力巨大的软件生态系统,为开发者创造新的机会。本章将带领读者逐步了解Windows 8系统的新特性及其全新的界面风格,为后续的开发工作做好铺垫。

内容简介
《Windows 8应用开发权威指南》应该是目前最为系统、全面、详尽和极具实战性的一本关于Windows应用商店应用开发的著作。书中深刻地阐述了Windows应用商店应用简洁、直观、优雅的界面设计理念和思想,以及开发中的重点和难点。技术内容涵盖了Visual C#、JavaScript和Visual C++开发语言,以满足不同读者群体的需求。为方便读者学习,书中在讲解技术重点的同时辅以完整的示例演示,使读者能够更快地将所学知识运用到实践开发当中,最后还针对不同的开发语言精心设计了3个综合性案例,可操作性极强。
《Windows 8应用开发权威指南》共分21章:第1~2章首先介绍了Windows 8系统的特点、Windows应用商店应用的设计风格和思想以及Windows应用商店应用的特征,然后详细介绍了开发Windows应用商店应用所需的开发工具及其使用方法,之后还介绍了开发者账号的注册、开发环境的搭建、远程调试以及应用程序的发布;第3章详细讲解了适用于Windows应用商店应用开发的XAML语法基础;第4~18章则系统讲解了使用Visual C#语言开发Windows应用商店应用的相关技术,包括应用控件、界面布局与导航、数据绑定、推送通知、图形与画刷、多媒体、动画效果、多线程与后台任务、传感器、文件与数据存储、网络通信、生命周期管理、地图应用、外部设备、全球化等;第19~20章分别讲解了使用JavaScript和Visual C++两种语言进行Windows应用商店应用开发时所使用的重要技术;第21章结合前面章节所介绍的技术知识完整地实现一个真实的Windows应用商店应用案例。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多