《移动与嵌入式开发技术·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章 发布应用程序
附录 练习题答案