终于买了一个掌上电脑,我又开始关注Palm开发了。Palm上虽然可以安装Java虚拟机,但据我所知绝大多数用户受里的Palm并没有安装,让他们为了用你的一个小软件而装虚拟机不太现实,因此只能用C/C++了。大学里学的C语言一直没有实际应用过,所以经过这么多年也和没学差不多,最近通过看wj给我的书,对C语言又有了重新的认识。不过C语言是面向过程的,我在Java里积累的经验似乎帮不上什么忙,边走边看吧。我在“Palm开发”这个分类里记录学习过程,这是第一篇,先介绍一下PODS的使用方法。

如果不熟悉Palm,可以先通过这篇文章了解一下Palm公司的历史和产品。没有掌上电脑也可以开发Palm应用,你可以在模拟器上运行和调试,但我相信把自己编写的应用程序拿在手里的感觉一定不错。

Palm OS Developer Suite(PODS)是PalmSource提供的基于Eclipse的Palm应用程序开发工具,它包含了编译工具、调试工具、模拟器、资源编辑工具和Palm SDK等等,可以在这个地址下载。虽然很多人都使用CodeWarrier开发Palm应用程序,但PODS毕竟是PalmSource官方推出的开发工具,从最初的1.0到现在的1.2版本看来,支持得也不错,加上它是基于我们熟悉的Eclipse平台,更重要的一点它是免费的,所以我还是选择了PODS。当然,用什么工具只能在一定程度上影响开发速度,熟练以后工具间的差别就不那么明显了。

我目前收集到的Palm开发资料主要有这几部分:首先是PalmSource网站上提供的不少pdf文档,对入门者比较有用的是“Palm OS Companion”和“Palm OS Reference”这两份,还有一个“UI Guideline”在设计窗体之前可以看看;另一个是PalmOS的开发者新闻组(news.palmos.com),比较活跃,到现在已经有超过10万个post了;最后就是纸版的图书,我找到的比较新的中文书籍是《PalmOS编程宝典(第二版)》,网上可以找到该书第一版的英文电子版,决定购买以前可以先看一下。

PODS的安装很简单:运行你下载的安装文件就可以了(PODS没有Linux的版本,它带的模拟器也是运行在Windows里的,所以我暂时还是要用回Windows了),可能需要你的机器里事先装有JRE。安装以后在“开始”菜单里会出现PODS组,其中有两个模拟器(Simulator,注意和Emulator的区别),开发OS5及以下应用程序用Garnet Simulator,开发OS6应用程序用Cobalt Simulator,所以我们一般用前者,它的样子见图1。


图1 Garnet模拟器

如果你用过Eclipse,对PODS的界面也不会感到陌生,基本上PODS就是在Eclipse里加了个透视图(Perspective)和一些向导,PODS 1.2版本带的Eclipse是3.0.1版本,显得有点过时了(也许可以把PODS那部分拿出来放在新版本Eclipse和CDT里,不知道能不能兼容),图2是PODS的运行界面。


图2 PODS的运行界面

环境看得差不多了,现在试着创建第一个Palm应用程序吧。在新建向导里创建“Managed Make 68K C/C++ Project”,如图3。这种应用程序可以运行在各个版本的Palm上,具有最好的兼容性。


图3 创建Palm应用程序

按下一步按钮,给项目起个名字“hello”,见图4。


图4 给项目起名

按下一步按钮,这里要指定你的应用程序的一些属性,对普通应用程序来说,大部分可以不动,只有“Creator ID”这一项必须改为其他值。按正规的流程,我们首先要在palmos网站上注册自己唯一的ID,然后把这个ID填在这里,目的是避免应用程序间的冲突。因为现在只是试验,随便改成“HELL”就可以了,见图5。


图5 修改Creator ID

按下一步按钮,在这一步里PODS提供了一些代码模板,这样可以不用从零开始写每个程序。我们选择“Sample Application”这一项,见图6,这样在向导结束后我们会得到一个很简单的应用程序。


图6 选择一个模板

现在直接按Finish按钮结束向导,这时要稍等一会儿,PODS在生成必要的代码和编译它们。简单来看一下生成的代码,主要的程序文件是src目录下的AppMain.c文件,注意它的入口方法不是main()而是PilotMain(),这个文件里的内容以后的帖子里会说明;在rsc目录下生成了名为AppResources.xrd的文件,这是一个资源文件,如果你在PODS里双击它,会打开Palm OS资源编辑器,见图7,在资源编辑器里你可以编辑窗体、定义菜单、定义图标、定义字符串等等。


图7 Palm OS资源编辑器

怎样在模拟器里运行这个应用程序呢?首先确认你已经启动了Garnet模拟器;然后在PODS里选择菜单“Run->Run...”,这将弹出一个对话框。在对话框左边选中“Palm OS Application”,然后按下面的New按钮,在“Palm OS Application”下面会出现一个新的节点(运行项);选中这个节点,在对话框右半部分把它的名称改为和项目名一样的“hello”,并确认“Files to install”框里只勾选了hello项目;点击Target属性页,在Device下拉列表里选择“Palm OS Garnet Simulator 5.4”,这个设置很重要,不要忽略。

现在运行项已经配置好了,见图8,按下对话框右下方的Run按钮即可运行程序。注意,以上这个过程对一个项目只需要配置一次就够了,再需要运行可以在PODS的工具栏里直接按Run下拉按钮。


图8 为hello项目配置运行项

我们第一个应用程序在模拟器上运行的界面如图9所示。


图9 第一个应用程序

你可能已经注意到了,在项目的Debug目录下已经生成了hello.prc文件,这个文件可以直接在Palm设备上运行(方法和安装其他软件一样,通过同步,或者复制到扩展卡上,等等),图10是我们的hello项目在真正的Palm上运行的样子。


图10 运行在Palm T|X上的hello项目

转载于:https://www.cnblogs.com/bjzhanghao/archive/2006/06/09/421821.html

Palm OS Developer Suite的安装和使用相关推荐

  1. EBS 开发套件 Oracle Developer Suite 10g 安装

    EBS 开发套件 Oracle Developer Suite 10g 安装 1 环境信息 2 下载文件 3 开始安装 1 环境信息 WIN10 64位 2 下载文件 下载地址:http://www. ...

  2. Palm OS Develop Suite 入门配置

    虽然多次声讨这个东西,并且再次表达对Eclipse的厌恶,但是Palm开发总共就这么几种工具,我也没有办法.没有打算写成Step by step,大概点一下 1. 中文支持: 1) 一个是代码中含中文 ...

  3. ADS(Arm Developer Suite)安装的坑!

    实验课老师让我们区安装ADS,作为嵌入式开发的工具,原本以为这只是一个简单的软件,但是当我安装的时候,我才发现这软件太难了!安装了我大半天,看了其他的博客之后,最终才安装成功

  4. Palm OS编程简介

    您正在考虑进行 Palm OS® 平台的编程吗?本文为您介绍几类编程类型,汇总编写 Palm OS 应用程序的独特之处,以及在何处可以获得有关的更多信息. 应用程序类型 为 Palm Powered® ...

  5. Palm OS 5开发概述

    内容 介绍 发布时间表 基于ARM处理器的Palm OS Palm应用程序兼容性环境 Palm OS仿真器 安全API 高密度API 性能 支持ARM原码 采样声音API Mac OS 管道开发工具( ...

  6. (七)Java游戏部署在Palm Os平台仿真器(Access)

    2007年08月14日 20:13:00 由于Palm OS被Access公司收购,因此Palm OS 也被另命名为Garnet OS.但在这一小节的介绍中,依然采用Palm OS的称呼. 准备软件: ...

  7. (七)Java游戏部署在Palm Os平台仿真器(Access) 1

    由于 Palm OS被 Access公司收购,因此 Palm OS 也被另命名为 Garnet OS.但在这一小节的介绍中,依然采用 Palm OS的称呼. 准备软件: 从Access网站(http: ...

  8. elementary OS 5 Juno (Pantheon) 安装后配置总结(干货很多)

    欢迎加入 Ubuntu 阵营!elementary OS 是 Ubuntu 阵营中兼具实用和美观的发行版,的确值得安装尝试.这是一篇长文,我精简了一些内容,但是干货越多说得越详细,篇幅就会越大.已经克 ...

  9. Palm OS开发简介

    Palm OS开发简介 --简单介绍Palm OS上的应用软件开发过程 篇首语:Palm OS现在的正确名字其实是Garnet OS...不过Palm OS更为人们所知... Palm OS历史 Pa ...

最新文章

  1. Bootstrap 与 Jquery validate 结合使用——简单实现
  2. vue中用table_Ant-Design-Vue中关于Table组件的使用
  3. 【MySql】 BlackHole :黑洞引擎
  4. Understanding Quaternions 中文翻译《理解四元数》
  5. XCodeBuild 使用
  6. 『.NET Core CLI工具文档』(二).NET Core 工具遥测(应用信息收集)
  7. 【实践】强化学习在招聘推荐冷启动优化中的应用实践
  8. mysql 8 sql server_终于将 SQL Server 成功迁移至 MySQL8.0 啦!!!
  9. html5 history解决ajax不能加入历史记录的问题
  10. SAP编辑器ABAP代码添加模板
  11. 原创 leetcode/力扣 背包问题大总结,BAT程序员完整学习手册PDF开放下载!
  12. Linux学习笔记之CentOS7的 wheel组
  13. python requests接收chunked编码问题
  14. 2020程序设计竞赛-现场赛题解
  15. 武汉大学国际软件学院夏令营笔试和面试简介
  16. Azkaban Flow 2.0的使用
  17. 细致的网站开发流程有哪些呢?
  18. Python之人民币与美元的换算
  19. 张宇考研数学闭关修炼【解析分册】
  20. 【Unity入门计划】基本概念(1)-2D刚体Rigidbody 2D

热门文章

  1. python下载整个网站_python – Selenium下载整个HTML
  2. 2020-02-25
  3. C++实现简易(多人弹幕控制主播游戏人物类型,CMD_迷宫小游戏)(二)
  4. 最新版 智能电脑键盘屏幕全记录 免费下载
  5. 在校学生申请英国旅游签证材料清单及说明【2017年3月】
  6. 音频声学基础四,电声器件简介
  7. 刚刚出新的Kubernetes 却曝出了“高危”安全漏洞;亚马逊将推免费新闻视频服务,对标苹果 | 极客头条...
  8. 《赖世雄的英语学习法》笔记
  9. 海洋CMS自动采集教程,小白都会操作
  10. 软件cs页面分辨率测试