Windows Phone Developer Tools 7.1 Beta 新特性--使用Additional Tools
5月24号晚上兴奋地等待,在浏览器缓冲了近30分钟后,我终于看到了芒果更新的Webcast,虽然只是看了一个结尾。第二天通过小指的围脖收到风声,芒果更新对应的开发工具终于发布了,虽然还是Beta版本的,这对于广大的WP7爱好者来说,不能不说是一种精神上的慰藉。
1.Windows Phone Developer Tools 7.1 Beta的安装
很多朋友在看到新的开发工具发布以后,想必都迫不及待地想要尝试一下,这就涉及到新开发工具的安装问题。这个问题Alexis已经在博文《升级Windows Phone 开发环境》中讲了一部分。如果之前安装的就是Windows Phone Developer Tools 7.0 版本的话,升级时最方便的,直接下载离线安装包(猛击这里下载.iso),然后放到虚拟光驱安装就可以了,在我i5+2G内存的机器上,大概安装了半个小时。对于安装了Visual Studio 2010 Ulitmate 版本的同学来说,需要安装Visual Studio 2010 SP1才行。不过说实话,安装开发环境确实是比较耗费硬盘空间的。
具体关于Windows Phone Developer Tools 7.1 Beta开发环境的安装,可以参考《Release Notes - WPDT 7.1 Beta.htm》,该文件可以从Windows Phone Developer Tools 7.1 Beta下载页面下载,如下图所示。
2.利用Additional Tools来模拟Accelerometer的数据
关于如何获得WP7上的Accelerometer传感器的数据,我这里就不再多说了。大家可以看MSDN上的文章《How to: Get Data from the Accelerometer Sensor for Windows Phone》,要注意的就是几个命名空间Microsoft.Devices.Sensors和Microsoft.Xna.Framework的引用。
对于Windows Phone Developer Tools 7.0 版本,我们直接在模拟器中获取Accelerometer传感器的数据,得到的将是一个固定的值。如果要对其进行模拟,我们可以采用Reactive Extensions来实现。或者还可以使用摄像头来进行识别,这在我之前的文章《How-to: 利用Web Camera模拟Windows Phone 7的重力加速度传感器》中已经提及,我们需要一个摄像头、一张纸,在光线不好的情况下,识别起来还是效率不高。
在Windows Phone Developer Tools 7.1 Beta出来以后,我们可以直接使用Additional Tools进行模拟,非常方便。
注:WP7上,我们可以使用笛卡尔右手坐标系统来判断加速度传感器输出,具体是将右手背对着手机屏幕放置,拇指即指向X轴的正方向。伸出食指和中指,食指指向Y轴的正方向,中指所指示的方向即是Z轴的正方向。
在仿真器中点击右上角的“》”Additional Tools按钮,出现Additional Tools界面,如下图2所示:
当你需要模拟手机的运动时,直接用鼠标选中中央的粉红色的圆点,进行拖动,下方的三维坐标值就会随之改变。
如果需要固定的手机模式,可以直接在下拉框里面选择,如下图3所示:
有了这个工具,对于广大开发者来说,开发加速度传感器的应用来说,方便了许多。
3.利用Additional Tools来模拟Location的数据
WP7上使用的是AGPS技术,与GPS有所不同
PositionChanged 事件返回GeoCoordinate 对象,具有8个属性
• Altitude 获取 GeoCoordinate 的海拔高度(以米为单位)。
• Course Gets or sets the heading in degrees, relative to true north.
• HorizontalAccuracy Gets or sets the accuracy of the latitude and longitude that is given by the GeoCoordinate, in meters.
• IsUnknown 获取一个值,该值指示 GeoCoordinate 是否未包含纬度或经度数据。
• Latitude 获取或设置 GeoCoordinate 的纬度。
• Longitude 获取或设置 GeoCoordinate 的经度。
• Speed 获取或设置以米/秒为单位的速度。
• VerticalAccuracy 获取或设置由 GeoCoordinate 给定的海拔高度的精度(以米为单位)。
如果用户不允许定位,那么经纬度信息返回值将是Double.NaN,IsUnknown 会是true。
在Windows Phone Developer Tools 7.1 Beta出来以后,我们可以直接使用Additional Tools进行模拟,如下图4所示,图中Bing地图显示了当前的位置。
我们同样可以在地图上进行顺序的标记,记录整个路径的轨迹,设置触发的时间间隔,这样模拟起来就更加方便咯。
有了Windows Phone Developer Tools 7.1 Beta的Additional Tools以后,大家开发加速度传感器和LBS的应用就更加方便了。这个就和以前开发WM平台的程序一样,在WM6.0以后,出来了Fake GPS和Cellular Emulator,但是现在WP7上仍旧不能模拟Cellular 相关的行为,希望以后越来越完善吧。这样开发爱好者们就不用蛋疼了,生活毕竟美好了许多。