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下载页面下载,如下图所示。

image

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所示:

image

    当你需要模拟手机的运动时,直接用鼠标选中中央的粉红色的圆点,进行拖动,下方的三维坐标值就会随之改变。

    如果需要固定的手机模式,可以直接在下拉框里面选择,如下图3所示:

image

    有了这个工具,对于广大开发者来说,开发加速度传感器的应用来说,方便了许多。

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.NaNIsUnknown 会是true

    在Windows Phone Developer Tools 7.1 Beta出来以后,我们可以直接使用Additional Tools进行模拟,如下图4所示,图中Bing地图显示了当前的位置。

image

    我们同样可以在地图上进行顺序的标记,记录整个路径的轨迹,设置触发的时间间隔,这样模拟起来就更加方便咯。

image

    有了Windows Phone Developer Tools 7.1 Beta的Additional Tools以后,大家开发加速度传感器和LBS的应用就更加方便了。这个就和以前开发WM平台的程序一样,在WM6.0以后,出来了Fake GPS和Cellular Emulator,但是现在WP7上仍旧不能模拟Cellular 相关的行为,希望以后越来越完善吧。这样开发爱好者们就不用蛋疼了,生活毕竟美好了许多。

posted on 2011-05-26 22:23  施炯  阅读(2765)  评论(11编辑  收藏