Palm开发工具及编程术语简介
' A5 K' n0 H, u& C+ [+ D+ {http://www.csai.cn 作者:五笔字型 来源:Yesky 2004年4月18日 进入社区 ' m+ o0 [9 }4 A8 v6 @+ Q
目前国内的开发商和软件商纷纷瞄准PDA的软件开发这个方向,PALM的应用软件开发是软件开发的一个新热点。如果您想进行PDA程序的开发,了解一番基于Palm OS 系统平台的开发工具和一些常用的编程术语是一件非常重要的事。开发工具方面,可进行PALM程序开发的工具很多,我们按以下三类来作介绍。
9 v9 \1 D/ |1 |, L- ] 一、Palm公司的开发工具:
3 v6 ?, T' ~1 ?' x& J# h5 Y/ L: h 1. Palm OS SDK- H- R1 e0 `/ H* Q
Palm OS SDK(Software Development Kit,软件开发工具包)最新的版本是4.0,它包含了最新的头文件、库文件以及开发Palm OS系统环境下应用软件所需的开发工具。它支持Windows,Mac OS,以及Linux 操作平台。需要注意的是Palm OS SDK本身并不包含任何开发平台。
6 ?5 l8 p: q& v( r 2. Conduit Development' w$ W& ~) f" u# f- w3 i7 U) y7 y- f
conduit是用于台式机和掌上设备之间进行数据交换、数据同步的软件。本工具包不包含任何开发平台。你可以通过访问http://www.palmos.com/dev/tech/conduits了解更多关于Conduit Development的信息。9 H% S+ C" x7 S5 s- L/ y
3. Palm OS Emulator; T7 [% p3 {8 e7 Y; a: M& K( L
Palm OS Emulator能够模拟多种型号的Palm掌上设备的硬件运行情况,主要应用在程序的编写、测试和除错。目前使用最广泛的PALM OS 模拟器版本是3.0a7,它使用较稳定,在PALM INC.的网站上可以自由下载支持Windows和Mac OS系统。
0 S* ~; l' Z; S8 X; @$ g5 v, S 4. Web Clipping Development
8 Z4 o4 g6 w4 p( U# c2 @8 i 它提供了关于开发web clipping 软件方面的有用的工具及信息,它是一种应用于掌上设备无线上网和访问HTML页面的技术,你可以访问httpp://www.palmos.com/dev/tech/support/forums加入Web Clipping开发者论坛。
: C ?, ]3 P! h4 M8 k( R2 L- U 二、开发平台 J9 g3 m2 g& \! ?$ m
1. CodeWarrior7 N7 f0 u4 P" n8 {/ Q
CodeWarrior是一款可运行在Windows或Mac OS上的专业开发平台,经过Palm公司正式认可。它包含备受称赞的CodeWarrior集成开发环境。早期的一些CodeWarrior版本存在可靠性和使用方面的问题,但现在很多的问题都已经得到解决。应当是PALM OS程序设计的首选开发工具。
: `3 T$ s8 k% _+ g* E3 C# L 2. NS Basic/Palm
. q' R/ o1 ?* \$ F. [6 D/ D NS BASIC公司的NS Basic/Palm是一个运行在Windows中完全可视化的Palm OS软件开发工具。使用的是BASIC语言。它包含了标准的Palm OS系统用户界面元素(如按钮、输入区域等),database,串行I/O功能,trig functions。能够创建标准的.prc文件。同时附带150页的技术手册。, e) ?0 G5 y# k6 Z
3. OnTap/ s' d& ^! Q v: d
Aegean Associates公司的OnTap是一个可运行在Windows,Mac OS,Unix操作平台中非常方便的软件,用于为Palm OS系统平台进行HTML数据的格式化、分配等工作。OnTap支持即时的对便携设备的corporate数据的访问。
: t+ M' e. G0 \5 o 4. Quartus Forth
" C' H: q- m/ O6 K I) v( D& o 该软件能使开发者使用Forth语言直接在掌上设备上快速、高效地进行软件开发。它能够对ROM程序,系统事件、用户界面元素(包括图形、声音、手写笔输入、密码等)进行操作。包含了一个68328字符的汇编程序。
- R" L& e" {" @ 5. Shareware Environments
- z) E, ~! u5 I1 P5 X# L Massena.com网站提供了一大批用于开发Palm OS平台软件的开发工具,从使用BASIC语言到汇编语言的都有。而且它们中的很多工具都是共享软件或者免费软件。能够在Windows,Mac OS 和 Unix平台上运行。# @3 N( n& G+ `2 t4 ?' F7 s
6. DB2 Everyplace Personal App Builder5 [" B' J" u( S: y8 k
这是一个高速的图形界面的软件开发工具,擅长创建窗体和可视化的创作工具。在它的帮助下,用户可以不必写一行程序就可以完成database软件的传递。该软件需要DB2 Everyplace支持,通过DB2 Everyplace Sync服务器来进行企业数据的同步。更过的信息可以在这个页面见到:Extending enterprise data and applications to mobile devices using DB2 Everyplace,或者quick demonstration页面。1 M) R: ~. c) ?) r7 H) ^/ E
7. Visual Form Designer: K1 H2 c% O6 y! A4 Y) g% O
该软件运行在Windows操作系统中,是一个集成开发平台,提供程序行等级的调试器,和源代码等级的调试器。它使用了免费软件PRC-Tools技术基础。3 {# |8 x) O. V6 k
8. PRC-Tools
8 f" c3 F6 Y6 [1 `' i0 }9 D 该软件是一个可运行在Unix,Windows操作系统中完整的编译工具系列,使用C/C++来开发Palm OS应用软件。它来源于GCC,并且的到Palm公司的支持。这是一个免费软件。您可以在Palm公司的PRC-Tools页面或者sourceforge.net页面获得更多信息。. U2 [3 g# R- R: U+ i5 f# ~
9. CASL Tools
- g! J; T4 A9 @$ E+ o7 _ 是一个来源于Feras Information Technologies的短小精悍的软件工具。它运行于Windows环境下,是一个集成开发工具,能够生成高水平的interpreted软件,以便于集成到conduit中,用于Windows台式机和掌上设备的通讯。包含一个开发平台,一个conduit,一个范例程序。0 B4 T! u# i6 C E$ L; z
10. Satellite Forms; N- ]5 {+ R& a. b6 L
来自Puma Technology的Satellite Forms是一个可视化,高速的开发平台,用于开发应用软件和conduit。通过鼠标拖放方式进行软件设计。通过一种和VB差不多的语言,用用户控件、插件和Satellite Forms APIs等,来完成事件驱动脚本。' h8 }# ^# H( ~
11. Pendragon Forms* E$ j) c3 l! r# v( i$ q
来自Pendragon Software的Pendragon Forms是能够简单、快速地创建数据链接软件和conduit。
; T& B" y @0 e9 j" A0 t 12. VisualAge Micro Edition
7 g/ g0 X! _; s' O4 i+ A$ t* W4 Q. x8 y 这是一个全面集成的开发平台,拥有一系列的工具,实时组件,用于开发和配置Java软件到连结者的设备中。运行平台为Windows,Palm OS platform 。
9 f9 `4 M; Q# I3 k5 X* N 13. AppForge Toolkit for Visual Basic
8 |; j, i" r; I% h! ^+ l* D AppForge使得全世界最大的程序员队伍()Microsoft Visual Basic 用户,可以参与到Palm OS软件的开发工作中来。包括可以乱真的Visual Basic 代码,集成调试,ODBC数据库同步,访问Palm的.pdb文件的转换器,图形转换器。运行平台为Windows。$ ]5 O" d8 [/ E" o5 d
14. ScoutBuilder
+ l6 g( i0 v" T% S' e' G. j 这是一个Palm OS软件开发解决方案。有图形界面的集成开发环境,全功能的脚本语言。它使得开发者可以快速高效地进行无线、移动设备软件的开发。更多的信息请下载它的一个免费测试版:http://www.aethersystems.com/。运行平台为Windows和Palm OS platform" T) @2 r! r& m# x f, M$ n
三、综合工具; y( `5 K$ a0 N$ d$ P
1. FontDisplay
& U# k7 d) x# y$ a8 ^1 X: A, D 这是一个Palm OS平台的软件,能够显示所有系列的字符。可以下载Windows版本和Mac OS版本。- S; X' u4 n% Q7 e
2. PalmTypes
+ v3 M) q J# e 这是一种用于CodeWarrior的Palm OS资源定义模版。能够一文本文件的形式创建资源文件,然后保存为".r"文件。然后将这个资源文件加入到您的软件中,就可以直接和您的软件一起编译。可以下载Windows版本或Mac OS版本。
3 _5 x3 @( J' O1 Q 像所有的操作系统和程序交互一样,Palm OS也定义了它自己的术语,以便于开发者加深其理解。如果对PC的开发较熟悉,你会发出其中的很多地方和以前内容非常相似,当然也有一些不同的地方,对于那些和以前不太相同的术语多加注意。; j$ d, q( A9 |& l! V
1. 窗体(Form)
. }8 _, {! a6 i; v8 v, P0 A' N 软件的窗口也被很多人称之为视图,通常会覆盖整个屏幕。一个窗体包括了控制工具,文本区,菜单,在一个Palm OS应用软件中,同时只能有一个被激活的窗体。
e) O, z4 Q/ `5 J 2. 窗口(Windows)- u9 d7 P* |* K9 v3 Z
窗口是一个矩形区域,应用程序将在其中显示对话框、窗体和菜单。窗口管理器确保各个相互关联的窗口能够正确显示,如某个最上面的窗口被关闭时,下面被遮挡的窗口的内容将会正确地显示。实际上,所有的窗体都可以被称作窗口,但是所有的窗口都不是窗体。
( |$ b" { W+ W; q! [& b+ X, E% w
1 k* u6 p+ p* ` 3. 数据库(Database)8 n( ?# }- m: a# P0 g" F
|6 k/ k$ `' D3 \2 k 是一系列永久存储区块的称呼。分为两种资源(Resource)数据库和记录(Record)数据库。
% z( d' f& r) @3 V1 e! y; _2 h' k3 o. e6 i* K2 N
资源(Resource)0 c7 e& O+ d* ^. z/ B. g5 ]/ y
" O9 ~. ^& M1 |4 I2 E" { 每一个资源都被定义了一种资源种类和数字,一个Palm应用软件就是一系列资源的集合。可以将它理解成是一段保存在资源数据库中的数据。
% h1 x4 e7 T* [2 x5 J7 M
. \8 X3 T0 ~! o 4. 记录(Record)' @& o; y; S6 w$ `9 c
# a ?' j/ [; J3 f2 B" D$ x 它由一个唯一的记录编号来定义的数据结构。应用软件通过记录数据库来存储数据。
% @5 e* w8 H: E7 m3 L- K5 _" v5 S+ r% P% I& n$ S4 I
5. 事件(Event)* u, ~( U# C+ ^ A# D" q0 b6 Y
+ S. N; V0 v5 D 这是一种用来描述软件中发生的事件的数据结构。事件可以是底层的硬件事件,如手写笔的点下,抬起,或者按键按下。同时也可以是高层的事件,如一个字符的输入,菜单选项的选择,或者界面上某个按钮被按下。Palm OS操作系统是一种事件驱动系统,每次只能由一个应用软件在运行。当该软件运行时,它将会运行一个事件循环,来获取事件,并且一直继续下去,直到用户打开另外一个应用软件。7 |+ s7 c4 n. e$ }3 X1 z- v
$ c( @% E0 Z! ?1 K 6. 主事件循环(Main event loop)
7 ~2 y! P, }5 q
L2 ^- H/ Q' G- B 在一个应用软件中,主事件循环将不停地重复运行,持续捕获事件并且执行它们。' n0 ?' i) Z! S) S7 P% ?
, K$ O6 I& s6 f. r8 k
7. 载入代码(Launch code)% c5 s1 l3 ^( @) m1 `' l# Z
2 h3 q" I$ m2 @ 当该特殊载入代码被执行时,一个参数将传递到应用软件中,用来定义软件该如何动作。一个典型的应用软件一般会同时处理多个载入代码。这是一种用于Palm OS系统和应用软件之间,以及应用软件与应用软件之间的通讯方式。
4 v; e u8 r3 S! @4 M
! z9 J+ k6 C5 k) [ 8. 菜单(Menu) 和菜单条(Menuba r)
" _! K/ W( X; C. Q, a3 `
$ v l8 K" {% B2 k: D 菜单是和菜单条一起被存放到资源文件组里的。当用户点击软件界面上的菜单区域时,就会显示出来菜单。资源中存储的一系列菜单,每一个窗体都拥有一个与之对应的菜单条。1 W; F, N- D f) R
% E1 [, ?5 n+ N# l; J
9. 对话框(Dialog)
5 M) f9 a8 a% w0 }8 F" g& o8 |, Z z; S
) a' d3 H' ~" p8 g 一个拥有控件的窗口,要求用户做出选择和决定。换句话说,只有关闭了对话框(用户点击上面的按钮),软件才能够继续运行。0 Z8 `+ e' x' `$ t- B# ?
9 @+ H `4 a( \7 H 10. 警告(Alert)* d9 H4 D% i& \, H# Q4 n0 S
3 _5 f4 Y9 t, Z- Q
一个显示警告信息或者提示信息的对话框,用户必需关闭 |