最结篇:不用手机完全“仿真器”

看过前几期的杂志,大家应该对Windows Mobile(WM)编程了有大概的认识,这次我们就来了解一下WM编程最重要的一部分——仿真器。
在程序开发过程中,一个很重要的环节就是调试程序。对于程序的调试,往往需要让程序在它所针对的运行环境内运行。我们知道,WM手机程序,其针对的运行环境就是基于WM系统的智能手机。
那么,现在问题就来了,要是手头上有WM系统的智能手机那还好办,若是没有手机的话,那怎么办呢?嗯,这个问题微软早帮我们想到了。我们在之前的文章里面也提到过“设备仿真器(Device Emulator,即通常所说的模拟器)”,“设备仿真器”可以用来模拟基于Windows CE或WM的硬件平台的行为。使用Device Emulator时,无需物理设备即可运行、测试和调试运行时映像。我们可以像配置真正的硬件平台一样,对此虚拟硬件平台进行配置。一句话,“设备仿真器”就是以软件的形式模拟了一台真正的WM智能手机。
嗯,这样看来,貌似使用“设备仿真器”便可以解决我们调试程序的需要了。在某些时候,这个想法是正确的。但是你注意到没有?我们运行起来的仿真器里面,是没有无线信号的:05hhtswc0a ,若是我们的程序需要使用到手机的短信、通话以及无线网络等通信相关功能的话,那光凭“设备仿真器”就没办法进行调试了。
哎呀,那这个可怎么办呢?别急,这个问题微软又帮我们想到了^_^。在Windows Mobile 6 SDK中,提供了“Cellular Emulator(蜂窝仿真器)”。前面我们已经知道,所谓仿真器就是通过软件形式模拟真实物理设备的行为。当然,这个“蜂窝仿真器”模拟不是一个蜂巢哦,而是模拟了手机的无线通信网络——蜂窝网络。“蜂窝仿真器”可以帮助你只需要通过软件平台便可以完成通信相关功能的调试工作。
1.使用蜂窝仿真器
我们需要先配置一下“设备仿真器”与“蜂窝仿真器”的联接。
打开“开始→Windows Mobile 6 SDK→Tools→Cellular Emulator”,运行蜂窝仿真器程序(见图1)。

05hhtswc01
我们可以在放着器程序界面左下角状态栏中看到“DE:COM*”,我这里是COM4,记下这个COM端口号(见图2)。

05hhtswc02
点击“开始→Windows Mobile 6 SDK→Tools→Device Emulator Manager”,运行设备仿真器管理器程序。右击管理器中的CHS Windows Mobile 6 Professional Images,点击“连接”,启动WM 6的设备仿真器。
点击设备仿真器的“文件→配置”菜单,在弹出来的属性设置对话框中,选择“外围设备”标签页,在“串行端口 0”这一栏,填写刚才我们记下的COM端口号,我的是COM4(见图3)。

05hhtswc03
然后再点击设备仿真器的“文件→重置→软”,对设备仿真器进行软重置操作。仿真器启动完成之后,我们便可以看到无线信号已经满格了(见图4)。

05hhtswc04
下面我们给设备仿真器打个电话试试。打开网络仿真器的Call Manager(呼叫管理)标签页,在Phone Number(电话号码)一栏里填入一个电话号码,点击按钮Dial(拨出)(见图5),

05hhtswc05

是不是看到设备仿真器显示有来电了(见图6)?

05hhtswc06

来电号码就是我们刚才填入的电话号码。点击网络仿真器的按钮Drop Call(挂断),便可挂断我们刚才的呼叫。
与此类似,往设备仿真器发送短信也十分简单,打开蜂窝仿真器的SMS(短信)标签页,填上短信内容和发送号码,点击按钮Send(发送)即可。
当然,你还可以通过设备仿真器呼出电话,还可以设定呼出电话的状态是接听还是占线还是拒接等等,更多的功能这里就不一一介绍了。
2.连通电脑网络
就目前的情况来看,这一切是多么美好呀。那么,我们再试试看,设备仿真器里面能不能顺利的访问到互联网呢?
点击WM的开始菜单,点击Internet Explorer,打开WM内置的IE浏览器,随便点击收藏夹内的一个链接,喔!不好,提示“无法连接”了(见图7)。

05hhtswc07
看来,蜂窝仿真器也并不是万能的噢。若是需要设备仿真器访问互联网的话,我们还得另外想办法。
首先,你用于开发的这台PC机得需要连上互联网吧,否则可就真没办法了@_@。
下面我们来看看,通过怎样的设置,来使得设备仿真器能够连接到PC机,并能够通过PC机访问到互联网。
首先我们需要安装ActiveSync,这个在前面的文章中已经介绍过。而在Windows Vista/7系统中,则需安装ActiveSync的更高版本Windows Mobile Device Center(WM设备中心),下载地址:http://tinyurl.com/yasnccb。
在这里我们以Windows Vista/7系统为例进行介绍。
打开控制面板,点击“硬件和声音”,点击“Windows Mobile 设备中心”下的“更改连接设置”(见图8)。

05hhtswc08
在弹出的“连接设置”对话框中,按如图9所示进行配置。

05hhtswc09
在“设备仿真器管理器”中,右击之前已经打开的CHS Windows Mobile 6 Professional Images,点击菜单项“插入底座”(见图10)。

05hhtswc10
稍后,你便会看到“Windows Mobile设备中心”中已经提示有设备连接成功了。直接点击“不设置设备就进行连接”即可(见图11)。

05hhtswc11
下面我们再刷新一下设备放着器里的IE浏览器,看看是不是能够成功打开网页了(见图12)?

05hhtswc12

到这里,我们这个WM开发系列就已经结束了。在这个系列里,我们了解了C#的基本语法,了解了一个WM程序的基本结构,了解了Visual Studio 2008的基本用法,最终,我们开发完成了一个不大不小的WM程序并了解到WM开发的特点,今天,我们又进一步掌握了完全不依赖真实手机进行程序调试的方法。
若是你完整的阅读了这一系列的文章,并一一进行了实践,那么,恭喜你,你已经跨入了WM开发殿堂的大门。

WM明天会更好!
某国外站长在试用了几分钟的WM 7测试版后,他评价说WM7是一次“推倒重来”,WM 6的痕迹完全消失,UI比ZuneHD更复杂……
想想90年代末,WM几乎一统江湖,但由于在操作系统上的投入移动系统已经“元气大伤”。
据称微软之所以舍不得手机业务是由于电子邮件方面上几十亿的收益,虽然WM只占业务中的一部分,它需要WM平台和iPhone、Android相抗衡。
现在WM 6.6已经支持了“电容屏”的支持,再看看新推出的Zune HD,可以预见WM 7必将大不相同。
最后小编引用某网友的评论做为本系列的结束:微软的WM 6.1为一代经典系统,其地位就如PC操作系统的Windows XP,起着举足轻重的作用。WM 6.5的发布可以说是生不逢时,犹如Vista一般的华而不实,期待WM 7能如Windows 7般令手机的系统再上一个台阶。

 

 

 

 

 

 

 

 

 

 

 

 

(载《电脑爱好者》2010年第5期)

posted @ 2010-03-08 11:05  huxi  阅读(1339)  评论(0编辑  收藏  举报