首页 理论教育 突破WindowsPhone7开发:最新技巧揭秘

突破WindowsPhone7开发:最新技巧揭秘

时间:2023-06-30 理论教育 版权反馈
【摘要】:使用Expression Blend for Windows Phone只能开发以Silverlight Framework为基础的应用程序,允许Silverlight应用程序设计师以熟知的程序开发经验开发Windows Phone 7应用程序。图2-21 Windows Phone 7的软件支持在支持Windows Phone 7应用程序开发的Framework方面,Windows Phone 7提供了两种Framework,分别是Silverlight Framework与XNA Framework。

突破WindowsPhone7开发:最新技巧揭秘

欲开发微软最新的Windows Phone 7智能型手机应用程序,必须先下载并安装Windows Phone Developer Tools套件,再利用Windows Phone Developer Tools套件提供的Visual Studio2010 Express进行开发Windows Phone 7智能型手机应用程序的工作,将开发妥的应用程序部署到Windows Phone仿真器进行测试,如果想要开发智能型手机的游戏程序,也可以利用Microsoft Expression Blend for Windows Phone或XNA Game Studio开发2D与3D的游戏程序。Windows Phone Developer Tools套件只能安装在Windows Vista SP2或Windows 7计算机,而且皆不可以是简易版(Starter Edition)。除此之外,欲利用Windows Phone Developer Tools套件提供的XNA Game Studio 4.0开发游戏程序的程序设计师请特别注意,Windows Phone De-veloper Tools套件不支持安装在任何的虚拟机上,同时计算机配备的显示适配器必须符合DirectX 10版定义的规格,并配备WDDM 1.1版的驱动程序。

1.Windows Phone 7的硬件支持

Windows Phone 7的硬件在很多地方都有别于之前的系统,包括800×480或480×320屏幕分辨率,支持多点触控,内建A-GPS卫星定位系统(反应速度更快的卫星定位系统)、G-Sensor(Accelerometer)、电子罗盘传感器、光源传感器以及不需要直接接触就可以侦测到附近物体的Proximity Sensor。

Windows Phone 7智能型手机支持最少500万像素的数字相机,内建Codec与多媒体影音播放功能,最少256MB的RAM与最少8GB的闪存,GPU(图形处理器),ARMv7 Cor-tex/Scorpion或更佳的处理器,以及Back、Start、Search三个硬件按键。

2.Windows Phone 7的软件支持

Microsoft最新推出的Windows Phone 7智能型手机主要的要求对象不止是一般的普通大众,还包括为数众多的企业用户,所以在软件支持方面加入了对云端服务的支持。图2-21所示即为Windows Phone 7的软件支持,上方显示的是Runtime和工具,下方显示的是云端相关的服务,两者构成开发Windows Phone 7应用程序的支持,以及应用程序执行时期的支持。

从图2-21可以看出,开发Windows Phone 7应用程序的主要工具除了可以依靠传统的Visual Studio 2010 Express for Windows Phone以外,还可以利用Expression Blend for Windows Phone,不管使用的是哪一种工具,都支持将开发的应用程序部署到具仿真GPU(图形处理器,Graphic Processing Unit)能力的Windows Phone 7仿真器进行测试。

使用Visual Studio 2010 Express for Windows Phone可以开发以Silverlight Framework为基础的应用程序,也可以开发以XNA Framework为基础的应用程序,而且支持应用程序侦错与封装。使用Expression Blend for Windows Phone只能开发以Silverlight Framework为基础的应用程序,允许Silverlight应用程序设计师以熟知的程序开发经验开发Windows Phone 7应用程序。

除了Visual Studio 2010 Express for Windows Phone与Expression Blend for Windows Phone以外,欲开发Windows Phone 7游戏程序的程序设计师还可以利用XNA Game Studio 4.0设计可以适用于Microsoft Windows、Microsoft Xbox 360、Microsoft Zune、与Windows Phone 7的游戏程序。通过XNA Game Studio的帮助,Visual Studio 2010 Express for Windows Phone就可以利用XNA Framework进行开发游戏程序的工作。当然,Microsoft在提供开发Windows Phone 7应用程序的工具的同时,也提供了相关的说明文件、教学文件、论坛、部落格、技术网站以及丰富的范例程序,协助程序设计师解决开发Windows Phone 7应用程序的种种问题。

978-7-111-43089-6-Chapter02-23.jpg

图2-21 Windows Phone 7的软件支持

在支持Windows Phone 7应用程序开发的Framework方面,Windows Phone 7提供了两种Framework,分别是Silverlight Framework与XNA Framework。Silverlight Framework是以XAML文件为基础的应用程序设计概念,通过事件驱动机制的帮助,提供与开发Windows应用程序和Silverlight应用程序相同的程序开发体验。XNA Framework主要的目的则是用来支持以循环为基础的游戏程序,意即利用循环不断地更新画面显示的内容,显示流畅的游戏效果。

Silverlight Framework和XNA Framework都是架构在.NET平台上的应用程序开发架构,能够有效率地协助程序设计师开发安全的智能型手机应用程序,而且程序设计师只要稍微修改现有的Silverlight应用程序或XNA应用程序,例如修改屏幕的高度和宽度,并加入智能型手机特有的传感器相关的功能,就可以将Silverlight应用程序或XNA应用程序移植到Windows Phone 7上执行。

使用Silverlight Framework来开发Windows Phone 7应用程序类似设计Silverlight应用程序,以Silverlight Framework为基础的Windows Phone 7应用程序是由一堆的Page(继承自PhoneApplicationPage类别的衍生类别)组成的,每一个Page是一个扩展名为.XAML的文件,代表一个操作画面,程序设计师可以利用Visual Studio 2010 Express for Windows Phone或是Expression Blend for Windows Phone来设计Page的用户接口。XNA Framework和Silver- light Framework不一样的地方在于XNA Framework主要的用途在支持开发游戏程序,提供2D/3D的动画、音效及各种游戏相关的功能,协助有志于开发游戏程序的企业或个人发展Windows Phone、Xbox 360、Zune播放器以及Windows 7平台的游戏程序。

在支持应用程序开发方面,程序设计师可以利用Framework提供的功能控制Windows Phone 7的多点触控屏幕、传感器、音效装置以及传声器等硬件,或是播放声音与影片。

档案处理方面Windows Phone 7应用程序只能存取位于隔离存储区(Isolated Storage)中的档案,无法存取隔离存储区以外的任何档案,避免恶意软件危害到其他应用程序或Windows Phone 7本身的运作。

Windows Phone 7支持的Location功能可以和云端服务提供的Location服务整合,协助应用程序查询装置的实际位置,在装置位置改变时得到通知,判断装置移动的方向和速度,或是计算两点之间的距离。(www.xing528.com)

支持上述种种功能的底层是一组功能完整的Framework,如图2-22所示,位于最底层的Common Base Class Library提供了Microsoft.NET平台的基本功能,也是Silverlight Framework与XNA Framework的基础。

978-7-111-43089-6-Chapter02-24.jpg

图2-22 支持开发Windows Phone 7应用程序的Framework

除了内建在Windows Phone 7智能型手机的Framework以外,Windows Phone 7应用程序也可以使用到互联网的云端服务,包括Windows Azure、Xbox LIVE服务、Notification服务、Location服务以及其他各种第三方提供的Web服务和WCF服务,甚至是REST服务(Rep- resentational State Transfer)等先进的技术,为Windows Phone 7应用程序提供更丰富的功能支持。通过云端服务的帮助,能够让使用者在使用不同的计算机装置时都可以存取到共同的数据,享受相同的服务,是支持发展新一代的行动运算解决方案的重要基础。

通过云端服务的帮助,程序设计师不但能够使用到超越Windows Phone 7本身内建的功能以外的更多功能,而且云端服务是24h不间断的服务,不会因为智能型手机的电池电力耗尽而无法取得服务。

Xbox Live是由微软公司所开发的多用户在线游戏与数字媒体配送服务平台,最初是2002年11月为Xbox游戏机平台推出的服务,之后更新成可以支持Xbox 360平台,Mi-crosoft Zune可携式媒体播放器,与Microsoft Windows平台,最新的版本已经可以支持Win-dows Phone 7智能型手机。通过Xbox Live服务的帮助,使用者不管使用的是个人计算机,Xbox/Xbox 360游戏机,Zune播放器,或是Windows Phone智能型手机,都可以利用相同的操作接口方便地取用共享的信息和服务。从发展应用程序的角度来看,Xbox Live也是支持发展跨越多种平台与装置的游戏程序的重要服务。

Microsoft提供的云端服务中,Notification服务能够协助Windows Phone 7应用程序以订阅的方式收到欲处理的事件,节省定时询问特定的资料或状态耗费的电力。Location服务能够利用Wi-Fi、Cellular和GPS等数据,为Windows Phone 7应用程序提供定位相关的功能。另外,Identity服务能够提供身份验证功能,Feed服务能够提供数据喂入服务,Social服务能够提供社群服务,而Map服务则可以提供地图与导览服务。

Windows Phone 7应用程序开发完成后,程序设计师可以利用Portal服务将开发好的应用程序发布到手机在线软件商店(即Marketplace),让使用者购买和使用。

在上传Windows Phone 7应用程序到手机在线软件商店之前,您必须先使用Windows Live账号登入到手机在线软件商店并进入注册,注册完成后就可以利用Portal服务提供的功能将开发好的应用程序上传到在线软件商店。程序设计师必须将欲上传的应用程序准备成.xap格式的压缩文件再进行上传,上传成功之后可以查询应用程序的认证状态,并在应用程序通过Portal服务的认证之后收到认证信。通过认证的应用程序将会以程序设计师订立贩卖价格发布到在线软件商店供使用者购买和下载。如果程序设计师修正应用程序的错误,为应用程序添加新功能,或是另外开发新的应用程序,都需要重复相同的应用程序认证程序,才能将新的应用程序或是修改过的应用程序发布到在线软件商店。

在线软件商店除了能够提供程序设计师进行应用程序的销售以外,还有提供Trial API,协助程序设计师开发试用版的应用程序供用户下载试用。除此之外,在线软件商店也提供完整的销售报告,使用者的回馈意见,用户对应用程序的使用意见,或是用户反应的应用程序错误等重要信息,供程序设计师参考。

3.Silverlight Framework vs XNA Framework

了解了Windows Phone 7的硬件支持和软件支持之后,在建立Windows Phone 7应用程序项目的时候,程序设计师必须面对选取Silverlight Framework或选取XNA Framework作为应用程序开发基础的抉择。从图2-23所示的Framework架构功能图可以看出,Silverlight Framework与XNA Framework的底层是一组共同的服务,提供传感器相关的功能,Location功能,Live服务功能,网络通信功能,XNA的音效API以及XNA的媒体API,而位于这一组共享服务底下的则是.NET Compact Framework,由.NET Compact Framework提供基础程序开发协助,包括数据形态、XML文件处理、LINQ语言整合查询、Isolated Storage隔离存储区、WCF服务与串行化等功能。

978-7-111-43089-6-Chapter02-25.jpg

图2-23 Silverlight Framework与XNA Framework的架构与功能

从图2-23可以看出Silverlight Framework和XNA Framework具有相同的本质,差别在于Silverlight Framework和XNA Framework支持的是不同类型的应用程序。Silverlight Framework支持开发一般的Windows Phone 7应用程序,提供程序设计师设计应用程序需要的控件以及显示功能,当然也支持动画功能供应用程序使用,而XNA Framework主要的用途是支持程序设计师设计游戏相关的程序,包括画面连续更新显示的协助,Content Pipeline游戏内容处理功能,以及2D/3D的图形显示。

选择开发Windows Phone 7应用程序欲使用的Framework之后并未限制应用程序不能使用另外的Framework提供的功能,也就是说选择Silverlight Framework作为应用程序发展基础的应用程序还是能够通过参考组件的方式使用到XNA Framework提供的功能,反之,选择XNA Framework作为应用程序发展基础的应用程序也同样能够通过参考组件的方式使用到Silverlight Framework提供的功能。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈