级别: 初级 Naveen Balani, 技术分析师, Syntel India Ltd.
2003 年 7 月 01 日 每个人都将会使用移动设备,创建 DB2 Everyplace 的移动应用程序很容易。这篇文章一步一步地向您讲述了使用应用程序构建器来构建一个简单样本地址簿的过程。
简介
本文描述了如何用移动应用程序构建器(Mobile Application Builder,MAB)来构建无线应用程序,并和 IBM® DB2® Everyplace 一起将企业数据发送给无线设备。还可以用 MAB 来访问和更新这些数据。
本文旨在帮助您:
- 理解和使用 DB2 Everyplace 的功能
- 配置和安装 DB2 Everyplace
- 构建、部署和测试样本 Palm 应用程序
DB2 Everyplace 概述
DB2 Everyplace 是一个设计用于个人数字助理(personal digital assistant,PDA)、手持式个人计算机、移动电话和嵌入式设备的关系数据库。DB2
Everyplace 是 IBM 移动计算解决方案的一部分。有了 DB2
Everyplace,那些常使用移动设备的人士(譬如销售人员)甚至在路上就可以访问他们所需要的重要数据。
DB2 Everyplace 解决方案包含以下组件:
-
数据库:为一些小设备设计的小规模的关系数据库系统。
-
同步服务器:双向同步服务器,在 DB2 Everyplace 数据库与企业数据库之间移动数据。
-
移动应用程序构建器:快速应用程序开发工具,用它来创建可在移动设备上运行的 DB2 Everyplace 应用程序。
数据库引擎
这个关系数据库引擎为记录集提供持久存储器,并能够用 SQL 来修改和检索记录。可以使用下面几种不同方式来访问
DB2 Everyplace 数据库中的数据:
- 使用命令行处理器(CLP)发出 SQL 语句。
- 使用用 ODBC 或 JDBC 作为调用级接口的应用程序。
同步服务器
同步服务器是一个客户机/服务器程序,用于管理从移动 DB2 Everyplace
数据库到源数据库的数据同步过程。同步服务器支持从移动数据库到源数据库以及从源数据库到移动数据库的双向数据同步。源数据库可以是任何关系数据库。
移动应用程序构建器
移动应用程序构建器(MAB)是一个集成工具箱,用于开发在移动设备上运行的
DB2 Everyplace 应用程序。MAB 使得在功能更强大的开发平台(Windows NT® 服务包 4 或更高版本、Windows 2000® 和 Windows XP Professional® 都支持 MAB)上编写健壮的应用程序以部署到移动设备变得容易。接下来,这些应用程序可以运行在基于 Palm OS 的设备(对于这些设备,生成 C 语言应用程序)或者任何支持
Java 虚拟机的设备(生成 Java 语言应用程序)上。
本文描述了如何使用 MAB 来开发 Palm C 语言应用程序,以构建和测试我们的 Palm 应用程序。使用 DB2
Everyplace V8.1 开发我们的应用程序。在以后的文章中,我们将使应用程序与关系数据存储同步。
V8.1 还支持 Java,后续文章
使用 DB2 Everyplace 构建无线 Java 应用程序描述了如何构建 Java 应用程序,并将其部署到支持 Java 虚拟机的移动设备上。
配置环境
本节描述了如何安装 MAB 及其相关工具,从
http://www14.software.ibm.com/webapp/download/search.jsp?go=y&rs=gnutools
可以下载 MAB 及其相关工具。
步骤 1:安装移动应用程序构建器
要安装 MAB,请运行
AppBuilderENU.exe ,并接受缺省值,这会将 MAB
安装到 <yourDirectory>\\DB2Everyplace\\ApplicationBuilder 下。
步骤 2:为 MAB 设置构建环境
MAB 使用以下所有工具,您必须安装这些工具。只需在某个特定的工作站上安装这些工具一次即可。
安装 Cygwin
双击 Windows 资源管理器中的 c
ygwin-b20.1-full.exe ,运行这个
.exe 文件。缺省的安装目录为
c:\\cygnus 。
安装 GNU PRC 工具
遵循以下步骤,安装这些 PRC 工具,这些工具包含交叉编译器和其它实用程序。
- 双击
prc-tools2.0.exe
。
- 在安装向导的
Select Components页面上,选择 PRC 工具的
Cand
C++ Tool Chain组件。可以选择是否安装工具文档和样本程序。
- 在
Choose Destination Location: PRC Tools 页面上,指定目标文件夹,或接受缺省目录(
c:\\Program
Files\\PRC-Tools )。
- 在
Choose PalmDev Location 页面上,指定该工具链的文档和样本程序的目标文件夹,或者接受缺省目录(
c:\\PalmDev )。无论您是否选择安装这些文件,安装向导都会提示您为它们选择一个位置。
安装 Palm OS SDK
遵循以下步骤以安装 Palm OS SDK,其中包含 Palm OS C 库和头文件。
- 到位于
http://www.palmos.com/dev/tools/_sdk40license.html
上的 Palm OS SDK V4.0 主页,然后单击
I Agree 表示接受该许可证信息。接着会显示 Palm 4.0 SDK
页面。
- 单击
Palm OS SDK for CodeWarrior and/or PRC-Tools这一部分中的
Windows 以下载
sdk40.zip 。
- 将
sdk40.zip 解压缩至任何目录,然后运行 Palm OS SDK 4.0 可执行文件。
- 在
Select Installation Type页面上,选择
PRC Tools 2.0。设置安装路径,使其与前面
Choose PalmDev Location 页面上安装 PRC-Tools 2.0 时指定的路径一样。缺省的安装目录为
c:\\PalmDev 。创建新目录
sdk-4 。
安装 PilRC 资源编译器
将
pilrc.zip 解压缩至
<prc-tools installation directory>\\h-i586-cygwin32\\bin (例如,
C:\\Program Files\\PRC-Tools\\H-i586-cygwin32\\bin ),以安装 PilRC
资源编译器,它用于创建 Palm
程序资源(例如,在应用程序中使用的文本字符串)。
安装 PALM 仿真器和 ROM 映像
遵循以下步骤以安装 Palm 仿真器和 Palm 仿真器的 ROM 映像。
- 从
http://www.palmos.com/dev/tech/tools/emulator/
下载 Palm 仿真器。您还需要为设备中所使用的 PalmOS 的级别注册 ROM 映像,您要向这些设备注册应用程序。
- 将这个压缩文件保存到 MAB 安装目录(例如,
c:\\DB2 Everyplace\\ApplicationBuilder\\bin )。将该文件解压缩到这个目录。在使用 Test 工具栏或菜单项测试应用程序时,为了使用户界面能找到
emulator.exe 文件,该文件必须位于 MAB 的安装目录中。
步骤 4:安装 Palm 仿真器以便测试
- 双击
c:\\DB2 Everyplace\\ApplicationBuilder\\bin 中的
emulator.exe
以启动这个仿真器。
- 在弹出的窗口中选择
New以启动新的仿真器会话。在
图 1
所示的
New Session 窗口中,选择从
http://www.palmos.com/dev/tech/tools/emulator/
下载的 ROM 文件的位置。单击
OK,会看到 Palm 仿真器。
图 1. 新的仿真器会话
- 在仿真器屏幕上任一位置上单击鼠标右键,然后单击
Install Application/Database。
- 选择
Install Other以安装数据库引擎。
- 选择以下文件:
C:\\DB2EveryPlace\\DB2e\\Clients\\PalmOS\\DB2eCAT.prc
C:\\DB2EveryPlace\\DB2e\\Clients\\PalmOS\\DB2eCLI.prc
C:\\DB2EveryPlace\\DB2e\\Clients\\PalmOS\\DB2eComp.prc
C:\\DB2EveryPlace\\DB2e\\Clients\\PalmOS\\DB2eRunTime.prc
C:\\DB2EveryPlace\\DB2e\\Clients\\PalmOS\\Samples\\SampleCLP\\DB2eCLP.prc
|
设置环境属性
缺省情况下,MAB 构建器自动链接到 Palm
的必备工具。因为我们用所推荐的缺省文件系统路径,并用开发工具中各自的安装程序安装了这些开发工具,所以现在必须告诉
MAB 这些工具的安装位置。为此,到
File -> Preferences -> Palm Tools,然后单击
Browse以查找这些工具的安装位置,如
图
2所示。
图 2. 告诉 MAB 这些工具的安装位置
现在,我们设置好 MAB 开发环境。
构建、部署和测试样本 Palm 应用程序
现在,让我们构建一个样本地址簿应用程序,并将其部署到我们的 Palm 仿真器中。
- 单击
Start -> Programs -> IBM DB2 Everyplace -> Mobile,启动 MAB 环境。
- 选择
Create a New Project。
- 将该项目命名为
SampleAddressBook 。
- 输入该应用程序名
SAB 。
- 选择
Palm OS作为目标设备。
- 选择缺省的应用程序标识
DBA1。这个标识被注册在应用程序标识数据库中,它可用于测试。在准备部署应用程序时,可以改变这个应用程序标识。
- 单击
Finish。
图 3. 为样本地址簿应用程序创建一个项目
装入 SampleAddressBook 的表定义
在定义完该项目之后,可以开始定义将要在应用程序中使用的表。DB2 Everyplace MAB
有一个用于将表定义导入项目文件的选项。以后创建表单或在表单上引用其它表中的列时,可以使用这些定义。为了装入
address.ddl 文件:
- 在
Tables上单击鼠标右键,然后选择
Import Table,如
图 4所示。
-
图 4. 装入表定义
- 在 Import table definition 窗口,选择
address.ddl,然后单击
Open。在装入这些表之后,会在 project tree 窗口的 table 部分显示这些表。
构建用户界面
在将表定义装入 project 窗格之后,现在准备开始创建用于应用程序的表单。在 MAB
内创建表单的方式主要有两种:
- 手工创建表单。
- 使用 Form Creation Wizard 自动地生成表的表单。
我们将使用该向导,如下所示:
- 在 Address 表上单击鼠标右键,然后选择
Launch Form Creation Wizard。
- 选择表单中要包含的所有数据库列,如
图 5 所示。
图 5. Form Creation Wizard
- 单击
Next,将使我们能够选择想要与这些表单相关联的数据库操作。
- 选中所有可用的操作,如
图 6所示,然后单击
Finish。
图 6. 设置可用的数据库操作
- 现在,可以在 Forms 部分中找到 Address 表单。删除
Form1,因为这是一个空白的缺省表单。
创建 Address 表单的事件
- 选择 Address 表单,然后单击
New,如
图 7 所示。
图 7. 使用 Address 表单
- 选择 Events 选项卡,如
图 8 所示,然后将看到一个 Tap 事件和与该 Tap
事件相关联的 Address create record。Tap 事件相当于会生成某个操作的单击鼠标动作。例如,在上面这个应用程序中,当单击
New 按钮时,会触发与 New 按钮相关联的函数。这意味着,当用户单击 New 按钮时,会创建一个新行。
图 8. 创建 Tap 事件
- 单击
Address create record,然后会出现 Event Action and Target 表单。
- 单击
Create Record,选择
Set Message,然后选择以下通知事件(
图 9):
图 9. 选择通知事件
- 创建类似的用于删除和更新记录的事件。
构建应用程序
在菜单中选择
Build ->Build以构建应用程序。如果构建成功,则会看到一条消息。如果出现错误,请确保安装这些工具和设置 Preferences 中的路径时已按
设置环境属性中所描述的那样正确设置了配置。
当构建应用程序时,为了创建最终的 Palm 可执行文件(
*.prc ),会创建许多中间文件。移动应用程序构建器要使用这些中间文件,更改它们会导致您的项目出错。有以下中间文件:
-
*.prc — Palm 应用程序的可执行文件。在成功地构建完项目之后,会创建这个最终输出。
-
*.bin — 应用程序中的可执行 Palm 资源。
-
*.c — 应用程序的源代码。
-
sql*.h — 应用程序访问 DB2 Everyplace 引擎函数所需的头文件。
-
*.h — 用于生成应用程序的头文件。
-
*.makefile — 用于为 Palm 构建可执行应用程序。
-
*.rcp — 应用程序中 Palm 资源的定义。
-
ibm_pab-sections.* — 与多个代码段支持相关。
测试应用程序
在测试应用程序之前,请创建样本地址簿。
- 在 Palm 仿真器中选择
Application,然后选择 DB2 Everyplace 所包含的
DB2e CLP。
- 在 Query 域中输入以下 SQL 语句,如
图 10所示,然后单击
Execute。
CREATE TABLE Address (FirstName Char(30), LastName Char(30) not null primary key ,
Address char(30),
Country char(30),
PhoneNumber char(15))
|
图 10. 创建样本地址簿
对于这个地址簿示例,我使用
LastName作为主键。在以后的文章中,我将讨论数据同步,其中将需要主键。对于您的情形,主键最好可能有所不同。只是要记住,如果插入新的姓名,姓必须不同于以前的姓,否则会出错。
将样本地址簿应用程序装入 Palm 仿真器
- 在仿真器屏幕上任一位置单击鼠标右键,然后单击
Install Application.Database。
- 选择
Install Other以选择 DB2 Everyplace 引擎的路径,然后在您的项目目录中选择样本地址簿应用程序文件
PersonalAddressBook.prc。
- 在仿真器屏幕上任一位置单击鼠标右键,然后单击
Reset -> Soft Reset以接受您的更改。
- 在 Palm 仿真器上,单击
Applications,然后选择
SAB(在创建该项目时,给这个应用程序指定的名称)。接着会显示我们的应用程序,如
图 11所示。然后,单击
New。
图 11. 添加新的地址
- 在单击
New之后,会得到一条通知消息,如
图 12 所示。
图 12. 请求的确认
- 单击
OK,然后会看到表示创建成功了的消息。
通过使用各种控制按钮(Tap 事件)浏览整个应用程序,以查看应用程序流。例如,单击
First按钮,可以浏览第一条记录。使用
Next和
Previous按钮来浏览记录,另外还可以删除和更新记录。
结束语
使用 DB2 Everyplace,您已成功创建、部署和测试了一个样本应用程序。现在可以将这个构建好的应用程序传送到 Palm 设备上。
关于作者
对本文的评价
|