您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

Windows Mobile 6中为开发人员提供的新功能(一)

发布日期:2011-04-21

       Windows Mobile 6 开发人员平台版本侧重于几个核心目标:简化行业 (LOB) 应用程序开发和部署、安排构建单个应用程序的任务(该应用程序更易于在 Windows Mobile 系列中的许多不同设备上成功运行),并提供增强的用户体验。

       本文从开发人员的角度介绍了 Windows Mobile 6 的新功能及其用途。本文还介绍了 Windows Mobile 6 软件开发工具包 (SDK) 提供的许多新功能,并为开始开发 Windows Mobile 6 应用程序提供了一些指导。

      适用于

      ·Windows Mobile 6 Professional
 
      ·Windows Mobile 6 Standard
 
       · Windows Mobile 6 Classic
 

       简介

       Windows Mobile 6 开发人员平台版本侧重于几个核心目标:简化 LOB 应用程序开发和部署、安排构建单个应用程序的任务(该应用程序更易于在 Windows Mobile 系列中的许多不同设备上成功运行),并提供增强的用户体验。

       为实现这些目标,Windows Mobile 6 以 Windows Mobile 的先前版本(特别是 Windows Mobile 5.0)为基础而构建。Windows Mobile 5.0 提供了许多平台增强功能和工具增强功能,用作 Windows Mobile 6 应用程序开发的基础。

       如果您不熟悉 Windows Mobile 5.0 或者想要复习一下 Windows Mobile 5.0,请查看“Windows Mobile 5.0 中为开发人员提供的新功能”。在“Windows Mobile 5.0 中为开发人员提供的新功能”一文中讨论的功能、工具和 API 同样适用于 Windows Mobile 6。

       本文从开发人员的角度介绍了 Windows Mobile 6 的新功能及其用途。本文还介绍了 Windows Mobile 6 软件开发工具包 (SDK) 提供的许多新功能,并为开始开发 Windows Mobile 6 应用程序提供了一些指导。

       以下所列内容简要介绍了 Windows Mobile 6 和 Windows Mobile 6 SDK 中与开发人员最为相关的一些功能。

       简化的行业应用程序开发和部署

       ? .NET Compact Framework 2.0 Service Pack 1 (SP1) 和 Microsoft SQL Server? 2005 Compact Edition 位于所有 Windows Mobile 6 设备的 ROM 中,这允许您的应用程序使用 .NET Compact Framework 2.0 和 SQL Server 2005 Compact Edition,而无需在用户的设备上分发或安装任一产品。这减少了部署应用程序所需的时间和开销,从而直接节省了金钱。 
 
        ·改进的设备仿真程序,它通过提供新仿真状态(包括交流电源与电池电源之间的转换以及电池电量级别的变化)来提供更高的设备保真度。 
 
        ·新的全球定位系统 (GPS) 测试实用程序 FakeGPS 允许您测试定位应用程序,而无需访问 GPS 设备。 
 
         ·新的蜂窝仿真程序,它与设备仿真程序结合使用,使您能够测试应用程序在各种蜂窝方案中的行为,例如拨入电话、传入 SMS 消息、挂断电话和中断数据连接。
 

       更易于构建一个在许多设备上运行的应用程序

        ·改进的设备仿真程序具有许多新功能,允许您在更大的设备外观造型范围内测试应用程序,而无需购买该设备。 
 
        · 贯穿 Windows Mobile 系列的一致的 API 集允许您编写单个应用程序,该应用程序可在大范围的 Windows Mobile 设备上成功运行,而无需考虑设备制造商或移动运营商。 
 
         ·开发人员指导,通过 Windows Mobile 6 SDK 附带的 100 多个示例应用程序提供。这些示例涉及多种多样的主题,其中包括构建一个可在许多不同设备上运行的应用程序的最佳实践。
 

       增强的用户体验

        · Windows Mobile 6 具有最新设计的外观,旨在提高用户生产率并改进用户体验。利用标准 Windows Mobile 窗体(例如联系人选择对话框)的任何应用程序都会自动从重新设计的用户界面中受益。 
 
        ·新增了轻型版本的 Tablet PC 手写 API、Windows Ink Services for Pen (WISP),允许您将基于手写的功能合并到在 Windows Mobile 6 Professional 和 Windows Mobile 6 Classic 设备上运行的应用程序中。 
 
        · 新的声音 API 使您能够在 Windows Mobile 6 应用程序内播放各种声音格式(包括 MID、WMA、MP3 和 WAV)文件。
 

      了解 Windows Mobile 6 命名约定

      从引入最初的 Pocket PC 设备至今,多年来移动设备已有了很大改进。如今,有许多不同的设备类型和外观造型可用,每个都有其各自的优势。过去,设备类型之间有明显的差别;而如今,区分这些设备的界限已日益模糊。传统术语(例如 Pocket PC、Smartphone 和 Pocket PC Phone Edition)的说明性可能不强,而且有时会导致混淆。为使设备间的功能和关系更清晰,Microsoft 将为所有版本的 Windows Mobile 6 操作系统引入新的命名约定。表 1 显示了 Windows Mobile 5.0 和 Windows Mobile 6 操作系统命名约定之间的关系。

    

表 1. Windows Mobile 5.0 和 Windows Mobile 6 操作系统命名约定之间的关系
Windows Mobile 5.0 命名 Windows Mobile 6 命名

Windows Mobile 5.0 for Smartphone

Windows Mobile 6 Standard

Windows Mobile 5.0 for Pocket PC Phone Edition

Windows Mobile 6 Professional

Windows Mobile 5.0 for Pocket PC

Windows Mobile 6 Classic

 

      新的命名约定从应用程序角度侧重于每个版本的功能,而不是侧重于设备硬件。

       如果您以前开发过 Windows Mobile 应用程序,则会在所有 Windows Mobile 系列设备上感受到完全相同的开发人员体验;在整个 Windows Mobile 系列中均使用 API、工具和实用程序的公用集。在各种 Windows Mobile 设备中,存在差异的一个功能是触摸屏支持。Pocket PC 和 Pocket PC Phone Edition 设备具有触摸屏,因此支持直接屏幕输入;而 Smartphone 设备没有触摸屏,因此不支持直接屏幕输入。

       为了与此关键差别更一致,Windows Mobile 6 SDK 不再像早期版本的 Windows Mobile SDK 那样,以特定的设备类型为目标。而是使用两个版本的 Windows Mobile 6 SDK 区分具有触摸屏的设备和不具有触摸屏的设备。使用 Windows Mobile 6 Professional SDK 为具有触摸屏的设备开发应用程序,这些具有触摸屏的设备过去称为 Pocket PC 或 Pocket PC Phone Edition。使用 Windows Mobile 6 Standard SDK 为不具有触摸屏的设备开发应用程序,这些不具有触摸屏的设备过去称为 Smartphone。表 2 显示了 Windows Mobile 6 SDK 和 Windows Mobile 6 设备之间的关系。

表 2. Windows Mobile 6 操作系统和 Windows Mobile 6 SDK 之间的关系
Window Mobile 6 操作系统 对应的 Windows Mobile 6 SDK

Windows Mobile 6 Standard

Windows Mobile 6 Standard SDK

Windows Mobile 6 Professional

Windows Mobile 6 Professional SDK

Windows Mobile 6 Classic

Windows Mobile 6 Professional SDK

        注意,Windows Mobile 6 Classic 和 Windows Mobile 6 Professional 设备具有触摸屏,二者均使用 Windows Mobile 6 Professional SDK;而 Windows Mobile 6 Standard 设备不具有触摸屏,它使用 Windows Mobile 6 Standard SDK。

        强大的 Windows Mobile 5.0 兼容性
       

       Windows Mobile 6 可以很好地与 Windows Mobile 5.0 应用程序兼容。与 Windows Mobile 5.0 兼容是 Windows Mobile 6 的明确目标,且已在整个 Windows Mobile 6 开发过程中进行了大量测试。绝大多数 Windows Mobile 5.0 应用程序都将在 Windows Mobile 6 设备上运行而无需进行修改。但需注意的是,兼容性的前提是应用程序使用受支持的 API。如您所猜想的那样,使用未记录或不受支持的 API 的 Windows Mobile 5.0 应用程序可能会遇到兼容性问题,而使用受支持的 API 的应用程序却不会遇到这些问题。

       Windows Mobile 6 为 Windows Mobile 5.0 应用程序提供了强大的兼容性,允许您使用Windows Mobile 5.0 SDK 或 Windows Mobile 6 SDK,构建针对 Windows Mobile 5.0 和 Windows Mobile 6 设备的单个可执行程序。这些应用程序将在 Windows Mobile 5.0 上顺利地运行,并将在 Windows Mobile 6 上更好地运行,这是因为 Windows Mobile 6 进行了许多改进,例如将 .NET Compact Framework 2.0 和 SQL Server Compact Edition 合并到 ROM 中。

       简化应用程序开发

       Windows Mobile 6 SDK 提供了使用 Microsoft Visual Studio? 2005 开始开发 Windows Mobile 6 应用程序时所需的工具和库。将 Visual Studio 2005 和 Windows Mobile 6 SDK 结合在一起,可在提供一些比以往更轻松地开发 Windows Mobile 应用程序所需的工具和功能的同时,创建一个功能强大的移动设备开发平台。

       工具

       本部分介绍 Windows Mobile 6 SDK 所提供的新开发工具,以及每个工具在应用程序开发过程中所起的作用。

       Device Emulator 2.0

       仿真程序始终都是移动应用程序开发的重要部分,允许您测试应用程序而无需访问物理设备。您能使用仿真程序(无需访问真实设备)进行的测试越多,工作起来就越轻松、迅速,并且花费也更少。Device Emulator 2.0 作为 Windows Mobile 6 SDK 的一部分而安装,它建立在 Device Emulator 1.0 的旧版基础之上,可通过模拟许多以前不具备的新设备状态和功能,利用真实的设备体验提供更高的保真度。正像 Device Emulator 1.0 那样,Device Emulator 2.0 是一款真正的 ARM 仿真程序。作为真正的 ARM 仿真程序,Device Emulator 2.0 运行与真实设备相同的可执行文件,因而无需为仿真程序管理真实设备所需的独立应用程序可执行文件。有了 Device Emulator 2.0,对于仿真程序和真实设备,只需要一组可执行文件即可。

       Windows Mobile 6 SDK 安装过程自动使用 Device Emulator 2.0 替换 Visual Studio 2005 所安装的 Device Emulator 1.0。因此,所有 Visual Studio 2005 Windows Mobile 项目将使用 Device Emulator 2.0,并将能够利用 Device Emulator 2.0 提供的新功能和改进。

       更快的执行速度

       应用程序测试中最大的阻力之一就是应用程序启动和执行速度缓慢。为减少由仿真程序性能导致的延迟,Device Emulator 2.0 已进行了重要优化。由于每个应用程序不同,因此很难说出有多少单个应用程序受仿真程序优化的影响,但是与 Device Emulator 1.0 相比,Device Emulator 2.0 最多可将性能提高 40%。

       仿真效果更好的设备

       Device Emulator 2.0 增加了许多新的设备外观造型,使您可以在这些设备投入市场之前,就许多最新的设备外观造型测试应用程序行为。图 1 显示了设备仿真程序中的全新 320x320 显示器外观造型。320x320 显示器是 Windows Mobile 6 提供的新设备外观造型之一。

.

图 1. 设备仿真程序模拟新的 Windows Mobile 6 320x320 显示器外观造型


       除许多新的 Windows Mobile 6 设备外,Device Emulator 2.0 还提供了一套丰富的 Pocket PC 2003SE、Smartphone 2003SE、Windows Mobile 5.0 Pocket PC 和 Windows Mobile 5.0 Smartphone 设备仿真程序。图 2 显示了设备仿真程序中的 Pocket PC 2003SE 设备和 Windows Mobile 5.0 Smartphone。

.

图 2. 模拟 Pocket PC 2003SE 和 Windows Mobile 5.0 Smartphone 的设备仿真程序

       无论 Device Emulator 2.0 是模拟新 Windows Mobile 6 设备还是模拟旧式设备之一,该仿真程序都仍然提供本部分所讨论的所有新功能。

       电源状态仿真

       就本质而言,移动设备大部分时间使用的是电池电源,只是偶尔连接交流电源。当设备的电池电量级别变得非常低时,应用程序可能需要采取特定操作,以避免在全部电池电量耗尽时丢失数据。现在,为了能够测试电源状态变化对应用程序的影响,Device Emulator 2.0 引入了电源状态仿真。

.

图 3. 设备仿真程序的电源状态配置控制


       如图 3 所示,仿真程序配置对话框允许您通过选中或清除“电池:”复选框,在使用电池电源和连接交流电源两种仿真程序状态之间进行切换。当状态为使用电池电源时,还可以设置电池电量级别百分比。仿真程序同设备一样,对这些电源状态和电量级别方面的变化做出反应。仿真程序显示相应的图标和消息;它还触发相应的“状态和通知代理”事件。

       电话情景模式仿真
       Device Emulator 2.0 支持三个新的电话情景模式:耳机、扬声器和车载套件。如图 4 所示,通过选中仿真程序配置对话框上的相应复选框,可以启用这些情景模式中的每个情景模式。选中情景模式复选框时,仿真程序的行为就好像您已插入了耳机、启用了扬声器或连接了车载套件一样,并会触发所有相应的“状态和通知代理”事件。

.

图 4. 设备仿真程序的情景模式配置控制


       蜂窝仿真程序

       现在使用的大多数 Windows Mobile 设备都有电话和其他无线通信功能。在很多情况下,您都可能希望应用程序与这些通信功能交互。您可能只是想在电话响铃的时候,将应用程序播放的音乐的音量减小;或者,可能需要加入一些涉及与通信硬件更密切地合作的更为复杂的功能。无论哪种情况,开发这些类型的应用程序在过去一直都很困难,而最大的难点在于测试此类应用程序。

       为了解决测试此类应用程序的困难,Windows Mobile 6 SDK 包含了蜂窝仿真程序。利用蜂窝仿真程序,您可以在设备仿真程序内测试应用程序在不同蜂窝通信情况下的行为。图 5 显示了蜂窝仿真程序。

.

图 5. 利用蜂窝仿真程序可以在设备仿真程序内测试电话和通信行为

       蜂窝仿真程序是一个功能强大的工具,可用来测试当蜂窝通信的状况变化时应用程序的行为。蜂窝仿真程序允许您执行一些简单的测试,例如通过仿真程序拨打电话、接听来电和挂断电话等。它还为 SMS 消息提供类似功能。对于需要测试更复杂功能的开发人员而言,蜂窝仿真程序还支持修改 SIM 配置以及模拟 2G 网络和 3G 网络之间的切换。所有这些测试不需要物理设备便可完成。

       要将蜂窝仿真程序和设备仿真程序一起使用,首先需要将蜂窝仿真程序与设备仿真程序相关联。创建关联非常容易。

       ·记下蜂窝仿真程序左下角显示的 COM 端口号;在图 5 中为 COM4。 
 
       ·在“设备仿真程序”菜单中选择“文件”,然后单击“配置…”,以打开“仿真程序属性”对话框 
 
      ·在“仿真程序属性”对话框中,单击“外围设备”选项卡。 
 
       ·将蜂窝仿真程序中的 COM 端口号输入到图 6 所示的“串行端口 0”中。如果在下拉列表中找不到 COM 端口号,您可以自己输入。 
 
       ·单击“确定”关闭“仿真程序属性”对话框。 
 
        ·要执行软重置,请在“文件”菜单上单击“重置”,然后单击“软”。
 

当仿真程序完成重置过程后,您会看到仿真程序现在显示蜂窝服务可用。

.

图 6. 输入蜂窝仿真程序端口号以便为设备仿真程序启用蜂窝服务仿真


       FakeGPS

       广泛使用的低成本全球定位系统 (GPS) 设备与 Windows Mobile 5.0 中引入的易于使用的 GPS 中间驱动程序相结合,为开发人员提供了轻松定位他们的应用程序的机会。在挑战定位应用程序的历史过程中,人们一直在寻找一个好的方法来对它们进行测试。Windows Mobile 6.0 通过 FakeGPS 实用程序解决了此问题。

       FakeGPS 实用程序允许您轻松地测试定位应用程序,而无需访问活动的 GPS 设备或活动的 GPS 源。您可以创建一个包含 GPS NMEA 消息列表的简单文本文件,将该文本文件复制到您设备上的 \Program Files\FakeGPS\GPS 文件夹中,然后启用 FakeGPS。以下是示例 FakeGPS 输入文件的一部分。

 $GPGLL,4738.0173,N,12211.1874,W,191934.767,A*21
$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E
$GPGSV,3,1,9,8,71,307,43,27,78,59,41,3,21,47,0,10,26,283,40*77
$GPGSV,3,2,9,29,13,317,0,28,37,226,37,13,32,155,36,19,37,79,42*42
$GPGSV,3,3,9,134,0,0,0*46
$GPRMC,191934.767,A,4738.0173,N,12211.1874,W,0.109623,12.14,291004,,*21
$GPGGA,191935.767,4738.0172,N,12211.1874,W,1,06,1.4,32.9,M,-17.2,M,0.0,0000*75
$GPGLL,4738.0172,N,12211.1874,W,191935.767,A*21
$GPGSA,A,3,08,27,10,28,13,19,,,,,,,2.6,1.4,2.3*3E
$GPRMC,191935.767,A,4738.0172,N,12211.1874,W,0.081611,15.81,291004,,*2A

       FakeGPS 与 GPS 中间驱动程序结合使用,将来自该文本文件的消息路由到读取 GPS 源的所有应用程序。因为 FakeGPS 实用程序直接使用 GPS 中间驱动程序,所以您可以使用它在真实设备和设备仿真程序上测试您的应用程序,而无需对程序进行任何修改。要激活 FakeGPS 数据源,请使用 FakeGPS 实用程序选择所需的输入文件,然后选择图 7 所示的“启用”选项。

.


图 7. 设置 FakeGPS 源以启用定位应用程序的测试