使用 SDE
与 eMbedded Visual Basic®(它是独立的)不同,SDE 要求您事先安装 Visual Studio® .NET 或 Visual Basic .NET。如果您对 Visual Studio .NET 世界还不太熟悉,我将向您提供如下四点建议。
您应该考虑购买一款从未使用过的全新计算机。Visual Studio .NET 喜欢所能获取的任何资源。计算机的配置越高,Visual Studio .NET 运行得越好,同时您的心情也会越好。
请阅读 SDE Beta 版附带的入门文档。这些小文件很叫人反感,因此往往被丢在一边,但即便如此您也应该阅读它们。它们会使您的生活变得更加轻松。
找一本讲述 Visual Basic .NET 的佳作,仔细阅读。eMbedded Visual Basic 和 Visual Basic .NET 之间的区别令人感到困惑。如果您长时间盯着屏幕,便会很自然地象通常的开发人员那样考虑问题,这样做是不可取的。
正如 John 在他的文章中所指出的,您可以廉价购买到特定语言版本的 Visual Studio .NET。目前可用的语言版本共有三种:C++、C# 和 Visual Basic。现在的 C++ 版本不支持 SDE(很抱歉,John!),因此您可以使用 Visual Basic,并把 John 的专栏放在一边。
您的第一个 SDE 应用程序
去年秋天,我在初识 Smart Device Extensions 中对 SDE 做了简单介绍。现在情况有了一些变化,如窗体设计器的添加,加上您现在可以尝试生成一个应用程序,因此我认为最好的办法是带领您逐步生成一个简单的 SDE 应用程序。
启动新项目
在 Visual Studio .NET 中创建一个新项目时,您将首次见到 SDE。如图 1 所示,在“新建项目”对话框的“Visual Basic 项目”文件夹中有一个标题为 Smart Device Application 的附加模板。选择该模板并输入名称“Hello World”开始生成项目。
图 1:“新建项目”对话框
单击“新建项目”对话框中的“确定”按钮,屏幕将显示 Smart Device Application Wizard(智能设备应用程序向导),如图 2 所示。在该向导中,您可以选择两个项:项目的目标以及要创建的项目类型。例如,我将选择 Pocket PC 作为目标并创建 Windows Application(Windows 应用程序)项目。
图 2:Smart Device Application Wizard(智能设备应用程序向导)
当您在 Smart Device Application Wizard(智能设备应用程序向导)中单击 OK(确定)按钮时,Visual Studio .NET 将按照指定设置创建新项目,并对其进行配置。该项目随后将加载到 Visual Studio .NET 开发环境中(如图 3 所示)。
图 3:Visual Studio .NET IDE 中的 SDE 项目
设置项目属性
SDE 提供了若干种配置项目属性的方法。第一种方法:您可以使用图 4 所示的“属性”窗口。
图 4:“属性”窗口
第二种方法:IDE 工具栏中嵌套了一个 Deployment Device(部署设备)组合框(如图 5 所示)。利用该组合框可以在测试应用程序时在仿真器和设备之间轻松地进行切换。
图 5:从 IDE 工具栏上选择部署设备
第三种方法:在 Solution Explorer(解决方案资源管理器)中右键单击项目,然后从弹出菜单的底部选择“属性”,这样即可访问“属性”对话框(如图 6 所示)。该方法可以使您轻松地使用所有项目设置的界面。
图 6:项目属性对话框
为了便于说明,我打算将 Output File Folder(输出文件文件夹)设置更改为 \Windows\Start Menu 以便将应用程序强制添加到“开始”菜单中。
生成界面
当我在十月首次谈到 SDE 时,Form Designer(窗体设计器)尚未完成。那些使用 SDE 早期版本的用户在得知 Beta 版包含了完整的 Form Designer(窗体设计器)时,一定会非常高兴。该设计器的工作机制与 eMbedded Visual Basic IDE 相似,大多数用户对它都会有一定的了解。
图 7:窗体设计器
在图 7 的底部,您可以看到菜单挂钩已添加到窗体上。这样一来,SDE 便有了菜单设计器。您现在一定想跳起来,并大声欢呼,是不是?当然,您的菜单代码不用再象使用 eMbedded Visual Basic 时那么冗长。
该功能实在太棒了,下面我打算向我的 Hello World 应用程序中添加一个菜单。此菜单有何用途?没有任何用途,只是因为它很棒。要添加菜单,首先单击窗体下面的 MainMenu1 图形。窗体顶部附近将添加一个深灰色的框。这就是菜单的最初外观。单击这个深灰色框,就可以通过图形方式对菜单及菜单项进行配置。图 8 显示了该菜单的最终外观。
图 8:菜单设计器
下面,我想构造一个简单的界面。图 9 显示了 Visual Studio .NET 工具箱,其中的 Device Controls (设备控件)部分是由 SDE 添加的。我将使用该工具箱选择界面部件,就象在 eMbedded Visual Basic 中那样。
图 9:工具箱
从该工具箱中,我将选择一个按钮添加到我的应用程序中。我已经将该按钮的 Text 属性更改为 Click Me,使其具备了一种“艾丽丝漫游仙境”般的风格。为简单起见,以上就是我对该界面所做的所有工作。
编写一些代码
下面,我要编写一些代码。我只想添加一行代码,当用户单击该按钮时,屏幕将显示信息“Hello World!”。
我只需双击 Form Designer(窗体设计器)中的按钮便可访问该按钮的单击事件,就象在 eMbedded Visual Basic 中那样。图 10 显示了此代码窗口。正如您所看到的,我在显示这个简单信息时使用的是 MsgBox。
图 10:代码窗口
在仿真器中进行测试
现在,我要开始测试 Hello World 应用程序了。与早期版本的基于 Microsoft Visual Basic 的移动开发工具一样,SDE 同时支持在仿真器和设备上进行测试。与早期版本不同的是,SDE 仿真器是目标设备的真实的二进制映像。这就意味着仿真器可以提供一个功能更强大、更真实的测试环境。
这个仿真器太酷了。您可以根据需要对其进行自定义。可以指定它必须使用的内存大小、屏幕大小、使用的颜色深度、所支持的硬件端口以及它是否具有以太网功能。
注意:eMbedded Visual Basic 使用的仿真器是作为 C:\Windows CE Tools 下的一个子文件夹“存在于”您的系统上的。这一配置使您能够使用文件资源管理器简单地向仿真器复制文件或复制仿真器中的文件。与此不同,SDE 仿真器更象一个真正的设备。这样,使用 SDE 仿真器,向其中或从其中复制文件时就象使用设备一样。
要在该仿真器上进行测试,首先从 Visual Studio .NET 工具栏的 Deployment Device(部署设备)组合框中选择 Pocket PC Emulator(Pocket PC 仿真器),然后单击 Start(开始)按钮。稍后,仿真器便开始启动。然后,装入我的应用程序并开始运行,如图 11 所示。
图 11:在仿真器中运行的应用程序
在设备上进行测试
要切换到设备上进行测试,只需在 Deployment Device(部署设备)组合框中选择 Pocket PC Device(Pocket PC 设备),然后单击 Start(开始)按钮。与仿真器一样,我的应用程序被复制到 Pocket PC,然后开始运行。
转换现有 eMbedded Visual Basic 应用程序
我知道,现有的 eMbedded Visual Basic 开发人员已经在考虑如何将 eMbedded Visual Basic 应用程序转换为 SDE。这一艰巨的任务即将开始。尽管我确实知道一个包含 57 个步骤的过程,可以利用 eMbedded Visual Basic、Visual Basic、Visual Studio .NET 和 SDE 将 eMbedded Visual Basic 应用程序转换为 SDE,但转换后的应用程序就好象是“星际迷航”中遭遇厄运的破船碎片。
总结 SDE Beta 版
现在您已经大概了解了如何使用 SDE 生成应用程序。但本文对 SDE 的介绍仅为皮毛,并未展示出 SDE 为移动开发人员提供的功能的强大和精深。SDE 为开发人员提供了一种工具,可用于创建下一代移动解决方案。它的强大、灵活和各种功能是使用 eMbedded Visual Basic 时所难以想象的。
但是请不要激动,从 eMbedded Visual Basic 向 SDE 的转换绝不是一个简单的过程。事实上,它完全有可能成为一场噩梦。Visual Basic .NET 是一匹全新的烈马,非常强大,也非常难以驯服。但在未来的几个月中,我将尝试就 SDE 的通用构造块写一些文章,以方便您对它的掌握。
如果您尚未开始,这里强烈建议您阅读 John 的文章 Some Very Smart Software(英文)。当然,我知道他是专攻 C++/C# 的。事实上,使用 Smart Device Extensions 时,语言之间有非常多的概念和技术可以相互借鉴。利用 John 的文章和我在这里讲述的内容,您应当可以构建自己的基于 Visual Basic 的 Web 服务。
返回原路
这就是本月的话题。我将离开一段时间,然后开始盼望久已的冲浪历险。一个月的风尘过后,我将带给您一个新的 SDE 应用程序。建议您到书店买一两本有关 Visual Basic. NET 的书。如果能从中粗略获得一些 SDE 的入门知识,也会很有帮助。下个月再见吧,现在,我要动身了。
John Kennedy 白天是 Visual C++ 组的技术撰稿人/程序员;晚上则过着 Pocket PC 开发人员的神秘生活。
Larry Roof 是 tonked(英文)的合伙人,这是一家专门从事移动解决方案开发和培训的公司。他是 Professional Visual Basic Windows CE 的作者,该书可从 Wrox Press 购买。
作者:Larry Roof 2002 年 4 月 30 日
http://www.microsoft.com/china/MSDN/library/archives/library/dnroad/html/road04242002.asp