zoukankan      html  css  js  c++  java
  • 用 eVB编写移动应用程序

     用 eMbedded Visual Basic 编写移动应用程序
    Larry Roof
    Tonked.com
    2001年5月9日 本文最初发表在 MSDN Online Voices 的 Two for the Road 专栏(http://msdn.microsoft.com/voices/road.asp(英文))。
    下载此专栏的示例代码(英文)。
    本月,我从硅村(Silicon Village)这一移动应用程序开发的中心来到您的身边。有些人可能不知道硅村,在此我特别介绍一下,硅村坐落于密歇根州的东南部,那里的大街上有每个正在彷徨的代码员所寻求的东西 - 11MB 无线网络连接。是的,您没有听错,在任何地方都可以获得 11 MB 的移动网络。我并不是指在办公室里。那是 eVC++ 移动应用程序向往者的事。我指的是在大街上,在 eVB 人群转悠的大街上。要到“赛百味”去吃午餐吗?嗨,带上您的 iPaq、PC 卡套和 Lucent 无线卡,您就可以在掌上访问 Internet。您正在为错过 eBay 上的 iPaq 大减价发愁吗?在硅村,这不是问题,因为您始终在网上。
    不过,您需要足够的旅行指南。好了,如此说来,您已决定放弃自己舒适的办公室生活,要满腔热情地面对危险,拥抱移动应用程序开发员的生活方式了。我为您骄傲,同时也为您担忧。摆在您面前的是流浪编码员往来的新领域,这帮编码员就像从连续剧“Mad Max”中走出来的人物,腰间挂满了电子装置。
    您选择的开发工具是 Microsoft 的 eMbedded Visual Basic? (eVB),利用它,您可以创建适合掌上设备的软件杰作。
    如果您是一个有经验的 Visual Basic 开发人员,那么对您来说,eVB 就象是一块蛋糕,唔,也可能是小甜饼或小饼干之类的东西,不过肯定是甜的。
    在本文中,我将带领您经历创建您第一个 eVB 应用程序的全过程。在您一头扎进使用 eVB 创建、编码和测试应用程序的工作之前,您将先学习需要了解的一切。
    2001 eVB 之游作为一个经验丰富的 Visual Basic 开发人员,一启动 eVB,您就会发现其界面让您有置身于家中的感觉。除了菜单有一些变化,工具栏上少了一些工具之外,其它一切都正如您想象的那样。
    尽管如此,我仍然需要指出几个关键问题。第一个就是“工程”菜单。您可能会马上注意到该菜单下的大多数命令都不见了。事实上,您在 Visual Basic 中该菜单下能看到的大多数命令在这里都没有了。除窗体和标准模块之外,类模块、用户控件、数据环境或所有其它组件都不再存在。您可能会问,“怎么会这样?”答案非常简单 - eVB 不支持它们。
    此时,我要给大家提一项会让最富经验的编码员都觉得扫兴的建议 - 阅读 eVB 附带的文档。我知道,您肯定在想“噢,Roof,这太过分。别逼我。我宁愿在闲暇时间与用户瞎混也不愿阅读文档。” 但在这件事上,您必须相信我。eVB 和 Visual Basic 之间存在许多差异,如果您不阅读文档,就会感到象是在指望 George Bush 来实现自己“成为百万富翁”的梦想一样。
    由于我们正在谈论菜单,所以让我们谈谈“工具”菜单。最初,您将发现它似乎与 Visual Basic 的“工具”菜单毫无相同之处。可是一旦深入其中,您就会发现一组您想要熟悉的有用实用程序。花点时间研究一下注册表编辑器、控件管理器、文件查看器和缩放功能。其余的工具更多是为那些声称“我不在乎需要写多少行代码”并且整天忙于编码的 C++ 呆子准备的。就是阅读我的合作伙伴 John 的专栏的那类人。
    SDK 不是令人讨厌的东西如果您打算使用 eVB,就必须对 SDK 有所了解。在安装 eVB 的同时,最好安装一个或多个 Windows? CE 平台系统开发工具包 (SDK)。现在听起来要麻烦一些了。每个 SDK 都提供运行时、ActiveX? 控件和仿真器,以用于特定 Windows CE 平台。
    毫无疑问,SDK 中最有趣的组件是仿真器。有了仿真器,您可以不必使用某种设备。您可以在自己的 PC 机中很方便地进行一切开发和测试工作。也就是说,和使用设备一样。移动一族有多酷!您还想费力地移动自己的台式 PC 吗?
    移动设备游第一站言归正传,现在该开始设计您的第一个 eVB 应用程序了。在本文的以下部分,我将带您经历构建您第一个 eVB 应用程序的全过程,并向您说明如何在仿真器和在某种设备上对它进行测试。
    “嗨,eVB 很酷吧?”应用程序您在本文中将构建的应用程序是流行又滥用的“Hello World”应用程序。该应用程序的特殊之处在于:它不仅显示文本“Hello World”,还会象一个小巧轻便的字幕板一样滚动消息。现在,我知道您在想什么。与传统的“Hello World”应用程序不同,该应用程序具有商业潜力。只需让用户输入一则消息,他们即可拥有自己的手持广告机制。假设您只将这个软件卖 10 块钱,那么只需售出 100,000 份副本,您就会成为百万富翁。不过,我想我会捷足先登。让我们继续创建该应用程序。
    开始一个新工程要执行的第一个步骤就是创建一个新工程。为此,您可以执行以下步骤: 启动 eVB。显示“新工程”对话框。


    选择“Windows CE for the Pocket PC”模板,然后单击“打开”按钮。 将创建一个新工程并将该工程加载到 eVB 设计环境。
    构建界面使用“窗体”窗口和“工具箱”构建用户界面,其中包括文本框、命令按钮、定时器控件,如下图所示。
    图 1:“Hello World”的初始窗体
    使用下表配置窗体和控件的属性。
    对象属性Form1- NamefrmHelloWorld- CaptionHello WorldText1- NametxtDisplay- BackColorBlack- FontTahoma 22- ForeColorGreen- Height675- Left60- Text(空字符串)- Top180- Width3375Command1- NamecmdChangeDirection- Caption改变方向- Height255- Left60- Top960- Width3375Timer1- NameceTimer- EnabledFalse- Interval200

    添加代码在“工程”窗口中,选择 Project1。在“属性”窗口中,将“名称”更改为“HelloWorld”。
    打开窗体模块的“代码”窗口。在模块的“一般声明”部分添加以下代码行:
    Dim strDirection As StringDim strMessage As StringDim strTemp As String
    变量 strDirection 将用于跟踪字幕滚动的方向。变量 strMessage 将用于保存在滚动字幕显示区显示的消息。变量 strTemp 用于处理在字幕中显示的消息。
    在 Form Load 事件过程中插入以下代码:
    Private Sub Form_Load()' 初始化变量。  strDirection = "向前"  strMessage = "嗨,eVB 很酷吧?"  strTemp = String(30, Asc(" ")) & strMessage  ' 启动字幕。  ceTimer.Enabled = TrueEnd Sub
    该代码首先初始化该程序自始至终使用的三个字符串变量,然后打开定时器控件,定时器控件继而运行字幕。
    在定时器控件的 Timer 事件过程中插入以下代码:
    Private Sub ceTimer_Timer()' 根据滚动的方向,将该' 字符串最左边或最右边的字符' 取走并将其附加到相反的一端。  If (strDirection = "向前") Then    strTemp = Right(strTemp, Len(strTemp) - 1) & _              Mid(strTemp, 1, 1)  Else    strTemp = Right(strTemp, 1) & Mid(strTemp, 1, _              Len(strTemp) - 1)  End If  ' 显示字符串,让人感觉' 文本正在滚动。  txtDisplay.Text = strTemp  End Sub
    该代码首先确定字幕滚动的方向。然后,它使用 eVB 的 Right、Len 和 Mid 函数来处理显示的字符串,使该应用程序具有滚动字幕的外观。
    在 cmdChangeDirection 控件的 Click 事件中插入以下代码。
    Private Sub cmdChangeDirection_Click()' 切换方向标记。  Select Case strDirection    Case "向前"      strDirection = "向后"    Case "向后"      strDirection = "向前"  End SelectEnd Sub
    上述几行代码处理用于跟踪字幕滚动方向的标记切换。
    这就是一个应用程序。您的第一个应用程序构建完毕。
    在仿真器中测试您的应用程序
    eVB 提供两种测试方法 - 在设备上或在仿真器中。仿真器在您的开发 PC 上运行,随 Pocket PC 和 H/PC Pro SDK 一起安装。通过这些仿真器,您无需使用设备即可测试自己的应用程序。仿真器也有一些缺点。在应用程序将如何在设备上运行这一方面,它们会误导您。PC 的运行速度比大多数设备都要快,而且还有一个数据输入键盘。另一个问题是仿真器只能在 Windows NT? 和 Windows 2000 下运行。

    应用程序是在仿真器中运行还是在设备中运行,可通过“工程属性”对话框来控制。要将应用程序配置为在仿真器中运行,请执行以下步骤。

    在“工程”菜单下,单击 HelloWorld 属性。如果“工程”菜单的底部没有 HelloWorld 属性选项,其原因是您没有按照本文前面所述的方法设置工程名。

    此时会显示“工程属性”对话框,如下图所示。

    图 2:“工程属性”对话框

    使用“运行目标”组合框,选择“Pocket PC 仿真”。

    “远程路径”配置将确定应用程序加载在仿真器上还是在连接的设备上。\Windows\Start Menu\ 的配置会使您的应用程序显示在目标环境的“开始”菜单中。

    注意:Windows CE 的路径类似于 Windows 下的路径,只不过它们不包含驱动器盘符。

    单击“确定”按钮,关闭“工程属性”对话框。

    现在,您就可以在仿真器中运行自己的应用程序了。要启动您的应用程序,请执行以下步骤:

    从“运行”菜单中单击“执行”。短暂的停顿之后,将启动 Pocket PC 仿真器,然后会加载并运行您的应用程序。


    单击“改变方向”按钮,切换字幕滚动的方向。


    单击位于正在仿真器中运行的应用程序右上角的“确定”按钮。应用程序将停止运行。


    要关闭仿真器,单击仿真器左下角的黑色圆按钮。
    注意:如果您想在仿真器中反复进行测试(是的,我们只构建和测试一次),那么让仿真器在两次测试之间处于运行状态会更加简单快捷。

    在设备上测试应用程序
    要在设备上测试您的应用程序,请执行以下步骤:

    确定 Pocket PC 已连接到了您的台式 PC,且通信正在进行。


    在“工程”菜单下,选择 HelloWorld 属性。将显示“工程属性”对话框。


    使用“在目标上运行”组合框,选择“Pocket PC(默认设备)”。


    从“运行”菜单中,单击“执行”。短暂的停顿之后,Pocket PC 将随着复制到您设备上的 eVB 组件显示一系列对话框。然后,将加载并运行您的应用程序。


    单击“改变方向”按钮,切换字幕滚动的方向。


    单击正在设备上运行的应用程序右上角的“确定”按钮。应用程序将停止运行。
    创建安装例程
    好了,如果您想大量销售自己新创作的可滚动“Hello World”应用程序,最好创建一个安装例程。很幸运,eVB 带有“应用程序安装向导”,它会引导您完成创建安装例程的全过程。

    接下来,我将陪您一起经历创建应用程序安装例程的全过程。

    在 eVB 中的“工具”菜单下,依次选择“远程工具”和“应用程序安装向导”。显示向导的起始页。如果您愿意,阅读一下它的内容。如果您对接下来的事更感兴趣,只需继续进行步骤 2。


    单击“下一步”按钮。在下一页中,输入 eVB 工程的路径。工程文件的扩展名为 .ebp。


    单击“下一步”按钮。在下一页中,输入 eVB 应用程序文件的路径。您的应用程序文件就是您的程序。在 eVB 中,它们的扩展名为 .vb。如果您尚未创建应用程序,可以从 eVB 环境中创建一个应用程序文件,方法是选择“文件”菜单下的“制作”。


    单击“下一步”按钮。在下一页中,输入要用来存放安装文件的目录路径。由于安装程序会创建多个文件和文件夹,所以最好不要将它同您的应用程序放在同一个文件夹中。


    单击“下一步”按钮。在下一页中,选择应用程序将支持的处理器类型。此列表中显示的处理器类型取决于您在启动工程时指定的工程类型。例如,如果您是用 Pocket PC 模板启动的,则在此页中会看到四种处理器。


    单击“下一步”按钮。在下一页中,选择要随应用程序一起安装的任何附加 ActiveX 控件或引用。通常,在此向导页中,除非您使用的 ActiveX 控件或引用不提供桌面组件,否则您不必作出任何选择。向导是智能的,它能从您的工程文件中搜集其余控件或引用。


    单击“下一步”按钮。在下一页中,添加所有将随应用程序一起使用的附加文件。您可能想包括的文件通常有自述文档、空数据库文件以及其它辅助文件。


    如果您的目标设备中已有设备运行时文件,则可以取消选择用于包括这些文件的选项。这样可以减小安装程序的大小。所有 Pocket PC 在 ROM 中都带有 eVB 运行时。


    单击“下一步”按钮。在下一页中,输入适用于应用程序的安装信息。


    单击“下一步”按钮。在下一页中,说明最终用户可以在安装过程中替换您在此处提供的安装目录。该目录将在目标设备上的 Program Files 文件夹下创建。


    至此,您就可以创建安装了。单击“创建安装”按钮。当创建安装时,将显示许多命令窗口。创建完成后,该向导页的界面将发生更改,“完成”按钮变为可用。


    单击“完成”按钮结束安装向导。向导将自动关闭。
    应用程序安装向导创建的内容
    完成应用程序安装向导之后,您将在指定向导使用的路径下发现许多文件和支持文件夹。其中大多数文件在生成安装例程时都使用过,因而无需发送给最终用户。

    您只需将位于 CD1 目录中的文件发送给应用程序的最终用户。您还需要发送 Setup.exe 和 Setup.ini 文件以及与用户的设备处理器类型相匹配的 .CAB 文件。

    eVB 应用程序文件与处理器无关。也就是说,同一 .vb 文件可在任何目标设备上运行。其它文件(如 eVB 运行时文件和 ActiveX 控件)则与处理器有关。因此,每种独特的处理器都需要创建一个单独的 .CAB 文件。

    您应该在相应的目标设备上测试每一种安装例程,以确认它能够正确安装您的应用程序。如果您在用于开发的设备上进行测试,那么应首先在该设备上执行硬重置,以便将每种设置恢复为出厂时的设置。这样,您就可以知道所安装的应用程序是否将在任何此类设备上正确运行。

    这就是构建和测试 eVB 应用程序的整个过程。正如您所看到的那样,除使用仿真器和设备之外,使用 eVB 创建应用程序的过程与在 Visual Basic 中创建桌面应用程序的过程非常类似。

    此路通向何方
    如果此时您兴奋得无法入睡,请访问以下站点:

    deVBuzz (www.deVBuzz.com):eVB 初学者入门的地方。


    VBCE 新闻组 (microsoft.public.vb.vbce):eVB 开发人员聚集在一起交流想法、解决方案和编程趣事的地方。
    返回原路
    这就是本月的话题。现在,您可以离开此处,去构建一些很酷的 eVB 应用程序。然后,将您的最新作品以及您那纯熟的 eVB 技巧告诉我,我的地址是:lroof@tonked.com。几个星期后,不要忘了回到此处,访问 John 的专栏。让他告诉您在 eVC++ 中创建移动设备字幕“Hello World”应用程序用了多少行代码。不必惊讶,您将需要教会您的孙儿孙女们如何编码,让他们继续您此生未尽的事业。

    到此为止吧。我已经戴上太阳镜,背上六听装的可口可乐,马上就要动身到阳光明媚的加州去冲浪,在那里,我将在下个月向您介绍如何使用带 Pocket Access 和 SQL Server CE 的 ADOCE。
  • 相关阅读:
    2015531 网络攻防 Exp1 PC平台逆向破解(5)M
    2017-2018-1 20155331 嵌入式C语言
    20155330 《网络对抗》 Exp9 web安全基础实践
    20155330 《网络对抗》 Exp8 Web基础
    20155330 《网络对抗》 Exp7 网络欺诈防范
    20155330 《网络对抗》 Exp6 信息搜集与漏洞扫描
    20155330 《网络对抗》 Exp5 MSF基础应用
    20155330 《网络攻防》 Exp4 恶意代码分析
    20155330 《网络攻防》 Exp3 免杀原理与实践
    20155330 《网络对抗》 Exp2 后门原理与实践
  • 原文地址:https://www.cnblogs.com/googlegis/p/2979187.html
Copyright © 2011-2022 走看看