l于C一个掌上电脑,我又开始关注Palm开发了。Palm上虽然可以安装Java虚拟机,但据我所知绝大多数用户受里的Palmq没有安装,让他们ؓ了用你的一个小软g而装虚拟Z太现实,因此只能用C/C++了。大学里学的C语言一直没有实际应用过Q所以经q这么多q也和没学差不多Q最q通过看wjl我的书Q对C语言又有了重新的认识。不qC语言是面向过E的Q我在Java里积累的l验g帮不上什么忙Q边走边看吧。我?#8220;Palm开?#8221;q个分类里记录学习过E,q是W一,先介l一下PODS的用方法?/p>
如果不熟悉PalmQ可以先通过q篇文章了解一下Palm公司的历史和产品。没有掌上电脑也可以开发Palm应用Q你可以在模拟器上运行和调试Q但我相信把自己~写的应用程序拿在手里的感觉一定不错?/p>
Palm OS Developer Suite(PODS)是PalmSource提供的基于Eclipse的Palm应用E序开发工P它包含了~译工具、调试工兗模拟器、资源编辑工具和Palm SDK{等Q可以在q个地址下蝲。虽然很多h都用CodeWarrier开发Palm应用E序Q但PODS毕竟是PalmSource官方推出的开发工P从最初的1.0到现在的1.2版本看来Q支持得也不错,加上它是Z我们熟悉的Eclipseq_Q更重要的一点它是免费的Q所以我q是选择了PODS。当Ӟ用什么工具只能在一定程度上影响开发速度Q熟l以后工具间的差别就不那么明显了?/p>
我目前收集到的Palm开发资料主要有q几部分Q首先是PalmSource|站上提供的不少pdf文档Q对入门者比较有用的?#8220;Palm OS Companion”?#8220;Palm OS Reference”q两份,q有一?#8220;UI Guideline”在设计窗体之前可以看看;另一个是PalmOS的开发者新ȝQnews.palmos.comQ,比较z跃Q到现在已经有超q?0万个post了;最后就是纸版的图书Q我扑ֈ的比较新的中文书c是《PalmOS~程宝典Q第二版Q?/font>Q网上可以找到该书第一版的英文电子版,军_购买以前可以先看一下?/p>
PODS的安装很单:q行你下载的安装文g可以了QPODS没有Linux的版本,它带的模拟器也是q行在Windows里的Q所以我暂时q是要用回Windows了)Q可能需要你的机器里事先装有JRE。安装以后在“开?#8221;菜单里会出现PODSl,其中有两个模拟器QSimulatorQ注意和Emulator的区别)Q开发OS5及以下应用程序用Garnet SimulatorQ开发OS6应用E序用Cobalt SimulatorQ所以我们一般用前者,它的样子见图1?/p>
? Garnet模拟?/p>
如果你用qEclipseQ对PODS的界面也不会感到陌生Q基本上PODS是在Eclipse里加了个透视图(PerspectiveQ和一些向|PODS 1.2版本带的Eclipse?.0.1版本Q显得有点过时了Q也许可以把PODS那部分拿出来攑֜新版本Eclipse和CDT里,不知道能不能兼容Q,?是PODS的运行界面?/p>
? PODS的运行界?/p>
环境看得差不多了Q现在试着创徏W一个Palm应用E序吧。在新徏向导里创?#8220;Managed Make 68K C/C++ Project”Q如?。这U应用程序可以运行在各个版本的Palm上,h最好的兼容性?/p>
? 创徏Palm应用E序
按下一步按钮,l项目v个名?#8220;hello”Q见??/p>
? l项目v?/p>
按下一步按钮,q里要指定你的应用程序的一些属性,Ҏ通应用程序来_大部分可以不动,只有“Creator ID”q一必L为其他倹{按正规的流E,我们首先要在palmos|站上注册自己唯一的IDQ然后把q个ID填在q里Q目的是避免应用E序间的冲突。因为现在只是试验,随便Ҏ“HELL”可以了Q见??/p>
? 修改Creator ID
按下一步按钮,在这一步里PODS提供了一些代码模板,q样可以不用从零开始写每个E序。我们选择“Sample Application”q一,见图6Q这样在向导l束后我们会得到一个很单的应用E序?/p>
? 选择一个模?/p>
现在直接按Finish按钮l束向导Q这时要E等一会儿QPODS在生成必要的代码和编译它们。简单来看一下生成的代码Q主要的E序文g是src目录下的AppMain.c文gQ注意它的入口方法不是main()而是PilotMain()Q这个文仉的内容以后的帖子里会说明Q在rsc目录下生成了名ؓAppResources.xrd的文Ӟq是一个资源文Ӟ如果你在PODS里双dQ会打开Palm OS资源~辑器,见图7Q在资源~辑器里你可以编辑窗体、定义菜单、定义图标、定义字W串{等?/p>
? Palm OS资源~辑?/p>
怎样在模拟器里运行这个应用程序呢Q首先确认你已经启动了Garnet模拟器;然后在PODS里选择菜单“Run->Run...”Q这弹Z个对话框。在对话框左辚w中“Palm OS Application”Q然后按下面的New按钮Q在“Palm OS Application”下面会出C个新的节点(q行)Q选中q个节点Q在对话框右半部分把它的名称改ؓ和项目名一L“hello”Qƈ认“Files to install”框里只勾选了hello目Q点击Target属性页Q在Device下拉列表里选择“Palm OS Garnet Simulator 5.4”Q这个设|很重要Q不要忽略?/p>
现在q行已l配|好了,见图8Q按下对话框右下方的Run按钮卛_q行E序。注意,以上q个q程对一个项目只需要配|一ơ就够了Q再需要运行可以在PODS的工h里直接按Run下拉按钮?/p>
? 为hello目配置q行?/p>
我们W一个应用程序在模拟器上q行的界面如?所C?/p>
? W一个应用程?/p>
你可能已l注意到了,在项目的Debug目录下已l生成了hello.prc文gQ这个文件可以直接在Palm讑֤上运行(Ҏ和安装其他Y件一P通过同步Q或者复制到扩展卡上Q等{)Q图10是我们的hello目在真正的Palm上运行的样子?/p>
?0 q行在Palm T|X上的hello目