Palm OS编程简介

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

应用程序类型

    为 Palm Powered® 掌上电脑创建的解决方案可能包含几个不同的组件。在掌上电脑运行的应用程序可以由一个或多个应用程序 PRC 和定制的共享库组成。根据您的特定需求,可能还需要编写一个在桌面电脑上运行的同步管道。许多解决方案最终取决于特定的许可厂商设备的硬件附件。

掌上电脑应用程序 

    在 Palm Powered 掌上电脑运行的 GUI 应用程序一般都是单线程、事件驱动的程序。一次只能运行一个应用程序。用户不能停止或退出应用程序,他们只能选择运行另一个不同的应用程序。作为响应,Palm OS 停止当前的应用程序并运行新选择的程序。虽然 Palm OS 应用程序由事件驱动,但是它们仍然可能根据其它的系统要求执行事件循环之外的工作。例如,如果用户使用 Find(查找)工具在设备上搜索一个特定的单词,则系统运行每一个应用程序并搜索它们的数据库查看是否包含匹配的数据的记录。 

    Palm OS 应用程序被编译为 PRC 文件(Palm 资源文件)然后下载到掌上电脑。同一个 PRC 可以在所有 Palm 品牌的设备上运行,也可以在所有许可厂商设备(例如 Handspring、Symbol 或 Sony)上运行。一些设备具有可编码的特有功能。有关详细信息,请参见 Palm OS Programmer's Reference 中的附录 "Compatibility Guide"。 

    您可以使用各种不同的语言(如 C、C++、Visual BASIC 或 Java)的开发环境创建 Palm OS 应用程序。您还可以根据要使用的语言来选择一种开发环境,但是要清楚由选择引发的结果。使用标准 C 语言作为编程语言是最常用的开发环境,有一些附件的开发允许使用 C++ 框架。对於 C 或 C++ 应用程序,Palm OS 为应用程序提供了关于内存管理、字符操作、屏幕绘图等方面所需的大量函数。因此不需要链接标准 C 或 C++ 库。这将使您的应用程序简洁和高效。对於 Visual BASIC 和 Java 的开发环境,甚至一些基於 C 语言的开发环境都要求提供一个运行时引擎。其中一些开发环境要求在设备中提供引擎,而其它的则将运行时元素编译到应用程序中。不论哪种情况,最终产生的代码库都不如基於 C 语言的应用程序简洁。但是,运行引擎通常向用户免费提供,并且开发工具提供了足够多的好处,从而使代码长度的增加变得物有所值。 

    如果您选择 C 或 C++,则还需要 Palm 提供的免费 SDK。除了为 C 语言开发提供了必需的头文件之外,Palm OS SDK 还包括文档和大量有用的工具。

同步管道(Conduit) 

    同步管道是 HotSync® 技术的一个插件,当您按下掌上电脑托架或者调试解调器上的 HotSync 按钮时,它就会运行。同步管道负责同步桌面电脑和掌上电脑应用程序之间的数据。 

    如果只需要将数据备份到 PC,Palm HotSync 软件为您提供了一个基本的备份同步管道。在这种情况下,您需要做的只是在掌上电脑的数据库中设置一个二进制位,指明数据应该进行备份。不需要额外的同步管道。当必须转换数据格式时,同步管道就是必要的了。例如,当您将数据从掌上电脑转移到公司的数据库中时,必须有一个同步管道来执行转换工作、访问合适的数据库记录、向该记录写入数据、并保存到数据库。 

    同步管道的编写通常使用 Visual C++、Visual BASIC 或 Java 语言并结合 Palm 同步管道开发工具包 (CDK) 进行。与用于设备端应用程序开发的 SDK 非常相象,CDK 提供了对 Sync Manager API 的访问,以及一些有用的工具和文档。它还提供了一个包含许多同步逻辑的通用同步管道,可轻松对其进行定制以符合您的需要。 

    除了 CDK 之外,还可以使用许多第三方解决方案,它们有助于使同步管道开发过程自动化,或者提供了直接与服务器同步的能力。将掌上电脑应用程序与服务器同步的程序仍然称作同步管道,但是它们与用 CDK 构建的同步管道的不同之处在於它们不依靠 Sync Manager API。


专门为小型的、用电池操作的设备而设计 

    与设计用于高功率奔腾电脑的应用程序相比,为 Palm OS 设计应用程序需要一套完全不同的观念,前者拥有大尺寸的彩色显示器,其用户通常一次要坐下来工作几个小时。与之相反,Palm Powered 掌上电脑是低电压、小型的、用电池操作的设备,使用频繁但每次时间都不长。以下是在设计和构建应用程序时应该切记的一些注意事项:

· 屏幕大小:大部分 Palm Powered 掌上电脑的屏幕为 160x160 像素,这限制了一次可以显示的信息量。桌面应用程序经常在按钮栏提供许多选项。在 Palm Powered 掌上电脑中,主屏幕应该只包含人们最需要的信息,其它无关内容一概去除。将任何额外的功能隐藏在子屏幕中。

· 使用模式:Palm Powered 掌上电脑的典型使用模式是每日多次使用,每次使用时间很短。对於掌上电脑来说,日开机 40 次,累计使用时间 1 小时并不少见。不要将掌上电脑当作一个小型的笔记本电脑,而应该使您的应用程序在这些短暂的用户活动中发挥出最大作用。切记:当用户要在桌面电脑前坐下工作 3 个小时的情况下,要求他们在找到所需的信息前多等 30 秒通常是可以原谅的。但对於掌上电脑用户来说,如果查找信息只是关机之前唯一要做的事,那么,这种等待是无法忍受的。

· 有限的输入:不要让用户使用掌上电脑本身输入许多数据。屏幕上的手写笔画输入以及内置键盘对话框远不如桌面电脑的键盘和鼠标效率高。用户可以使用外接键盘,但是不应该把它们当成必需的设备。考虑为用户提供一个在桌面电脑输入数据的方法,然后提供一个同步管道将这些信息下载到掌上电脑。

· 功率:Palm Powered 掌上电脑的处理速度范围是从 16MHz 到 33MHz。它们并非设计用于执行与桌面 PC 相同类型的处理。掌上电脑的用户不希望一边盯着沙漏图标一边等着下一屏幕的出现。考虑使用同步管道将任何复杂的处理移交给具有更大功率的桌面电脑,而将设备端的应用程序限制为处理那些用户在离开他们的办公桌时需要的信息和工具。

· 电池:掌上电脑的电池相对较小,然而这个平台成功的关键之一在於该设备出色的电池使用寿命,在许多情况下都能超过一个月。这样,一台掌上电脑就更像一部好手机而不是一台笔记本电脑。用户无需担心他们的设备是否充电,只要能够使用该设备就可以了。在执行消耗大量功率的任务(例如串行或红外通信、声音、持久的动画或者其它需要长时间使用 CPU 的任务)之前,仔细考虑您的操作。

· 内存:每个 Palm Powered 掌上电脑的存储空间都很有限,从 512K 到 8MB 不等,还有一个 32K 到 256K 的动态堆(较新的设备往往分别有 8MB 和 256K)。优化是至关重要的。首先优化堆空间,其次是速度,最后是代码长度。

· 数据存储:Palm OS 将数据存储在称为记录的内存块中,它们被分组存储在数据库中,以便最充分利用有限的存储空间。一个数据库与一个文件类似,但是将数据库分割为许多记录就允许将数据存储在非连续的内存块中。为了节省空间,您应该在适当的存储堆中编辑数据,而不是先创建数据或将其缓存在 RAM 中,然后再写入到存储堆。

· 向后兼容性:向后兼容性是 Palm OS 的关键特性之一,因为用户不会像升级桌面电脑的操作系统那样频繁地升级掌上电脑的操作系统。即使您想创建在较旧的掌上电脑上(如 Palm Professionals)运行的程序,您也总可以使用最新版本的SDK。

· 计算每一个字节:在编写 Web 剪存应用程序时,要考虑 wireless.palm.net 服务计划的字节数很有限,从每月 50K 到每月 300K 不等。要限制用户传输的信息量。将您所需要的 HTML 页面和图像尽可能存储在设备中──方法是将它们包含在用户安装的 WCA 中。


其它介绍信息

随 SDK 一起提供的 Palm OS Programmer’s Companion,Volume I,更深入地介绍了 GUI 应用程序的设计原理。阅读前四章,以打下良好的基础并了解编写 Palm OS 应用程序涉及的内容。如果您准备创建 web 剪存应用程序,可以阅读 Web Clipping Developer’s Guide。

对於同步管道,随 CDK 一起提供的 Conduit Programmer’s Companion for Windows 和 Conduit Programmer’s Companion for Macintosh 提供了用于创建同步管道的类似信息。

还有许多第三方书籍供初级 Palm OS 程序员和更高级的 Palm OS 程序员使用。下面是两本非常重要的参考书目:

Palm OS Programming:The Developer’s Guide,2nd Edition,作者:Neil Rhodes 和 Julie McKeehan。本书为有经验的 C 和 C++ 程序员展示如何从头开始构建一个 Palm 应用程序。本书在第一版成功的基础上,加入了对更多版本 Palm OS(包括最新的 4.0 版)的应用程序构建的阐述。

Palm OS Programming Bible,作者:Lonnon R. Foster。这是一本非常全面的 Palm 编程参考书目,专门为 Palm OS 3.5 版编写。它涵盖了 GUI 应用程序编程、web 剪存应用程序和同步管道。该书以非常模块化的方式编写,使您能轻松阅读需要的部分。

如果您想参加学习班,开发人员培训计划提供了由教师指导的关于 Palm OS 基础、创建同步管道等内容的课程,还提供了针对初学者和有经验的 Palm OS 程序员的各种在线课程。由教师指导的课程透彻而富于实践,将讲座和实验相结合,教师会关注每个学生的实际情况并且授课教师均经过 PalmSource Inc. 的认证。

在完成基础内容学习之后,如果您有更多具体问题需要解答,那么有多个方法供您选择。您可以搜索开发人员知识库或者将问题发布到某个开发人员论坛(邮件列表和新闻组)上。此外,HotDispatch 提供了一个类似拍卖风格的论坛,在此您可以通过付费的方式获得个人问题的解答,而 PalmSource 也提供基於付费的编程支持。另外,可以转到 PalmOS.com 上的开发支持页面,获取更完整的支持选项列表。

最后,有关第三方开发环境的更多信息,请浏览第三方公司的网站以获取最有用的信息。但是,您可以浏览 PalmOS.com 的综合工具页面,获取第三方工具列表。该页面提供了到详细信息站点的链接。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9403012/viewspace-1639/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9403012/viewspace-1639/

PaLM原理与代码实例讲解 PaLM原理与代码实例讲解 作者:禅与计算机程序设计艺术 / Zen and the Art of Computer Programming 1. 背景介绍 1.1 问题的由来 近年来,随着深度学习技术的飞速发展,自然语言处理(NLP) 阅读详情

相关推荐

Palm OS编程实践项目完整指南

Palm OS采用分层式系统架构,核心由微内核驱动,集成了事件调度器、内存管理器和硬件抽象层(HAL),专为低功耗、资源受限的嵌入式设备优化。其运行时环境以事件驱动为核心,应用程序通过PilotMain入口响应系统事件,实现快速启动与响应。系统以数据库(PDB)为中心组织数据,所有应用数据均存储为带类型与创建者ID的记录式数据库,支持热插拔与同步。// 典型PilotMain函数原型该架构通过资源化应用组织。

weixin_34547628的博客 1109

加密算法

        public static string Encrypt(string s,int key)        ...{            string result="";                     for (int i = 0; i  s.Length; i++)            ...{                result += Convert

palm_java的专栏 502

Palm OS 3.5开发-第1部分,Palm OS简介

Palm OS开发简介。

PALM-一种生成式模型

我们对比了模型在预训练过程中的这几个任务的 Accuracy,从 Accuracy 指标的结果可以看出,这几个任务确实是从易到难的。motivation 是看到 EMNLP 上有一篇 paper ,把 BERT encoder 直接拿过来,再加一个随机 decoder,fine-tune 训练摘要任务,都得可以得到很好的效果,这说明了 encoder 的重要性。encoder 任务我们采用的是 maskLM,类似于 BERT 的,经过验证有效的方式去做 mask,直接在 encoder 去做预测。

han_liwei的博客 1211

Palm webOS 中文版.rar

Palm® webOS™ 是Palm 公司新一代的操作系统。WebOS 将窗口操作系统的强大功能和浏览器应用的简便性融合在一起,提供了非常快速并且华丽的用户界面,而且还为多任务操作进行了优化。可以使用任何标准的web 技术和语言撰写WebOS 的应用程序,同时这并不会影响到WebOS 应用程序对设备底层服务和本地数据的访问。 Palm webOS 能够运行在许多设备上,这些设备在屏幕尺寸、分辨率以及用途上各不相同。Palm webOS 支持键盘操作,尽管如此,在配备触摸屏的设备上表现更好。因为Palm webOS的用户界面和应用程序都是基于浏览器应用的,所以,只要硬件设备包含一个cpu、一些内存、支持无线数据连接、有显示设备、并且能够进行文本输入和用户界面操作,那么这个设备就能够使用Palm webOS。 ......

palm web os编程2 中文版

第二章主要讲述了如何创建webOS的应用程序,介绍级和场景详细分析以及应用举例

PalmOS开发教程-6

第六章 控件     在这一章中,我们将继续研究Contact Detail 程序,让它具有显示并设置日期时间的功能。我们要添加一个窗体来设置时间。这个时间和日期是可选的以供下次联系使用。 为实现此功能,我们将使用新的资源:选择触发器(selector triggers),开关按钮(push buttons),重复按钮(repeating buttons)。连同前面的按

redcoral的专栏 1843

Palm OS 编程实践

Palm OS 编程实践.rar Palm OS 编程实践.rar Palm OS 编程实践.rar

Palm OS 编程简介

Palm OS 编程简介您正在考虑进行 Palm OS® 平台的编程吗?本页面为您介绍几类编程类型,汇总编写 Palm OS 应用程序的独特之处,以及在何处可以获得有关的更多信息。 应用程序类型为 Palm Powered® 掌上电脑创建的解决方案可能包含几个不同的组件。在掌上电脑运行的应用程序可以由一个或多个应用程序 PRC 和定制的共享库组成。根据您的特定需求,可能还需要编写一个在

q2360c的专栏 4113

Palm OS编程实践

本书面向各个层次的C程序员读者和PDA爱好者。对于初学者来说,这是一本很好的入门教程,对于有经验的程序员来说,这是专业的参考书,对于PDA爱好者来说,这又是一本方便的手册。通过本书的学习,不仅可以快速学会开发基本的Palm OS应用程序,还可以学到调试程序、使用数据库,优化用户界面等高级PDA开发技术。

Cadence OrCAD: 层次化设计 Hierarchical Design

详细介绍OrCAD的原理图层次化设计方法。

Fantasy237的博客 1万+

PALM开发教程-第一章 关于Palm

PALM开发教程-第一章 关于Palm  作者:palmheart   来源:palmheart.net    本章将对Palm这个新奇的东西进行一些简单的介绍。对于有一定的嵌入式软件开发基础,又想尽快开始编程的读者,我建议你跳过本章,直接从第二章开始阅读,等闲暇时间再回到本章浏览。 书中的一些章节提到了如何为头带式、腕带式设备编写Palm OS应用程序

mobilechannel的专栏 2340

SVPWM原理与MCU/FPGA实现:从数学推导到工程实战

空间矢量调制(SVPWM)是实现高性能电机驱动控制的核心算法之一,其通过六个基本电压矢量与零矢量的伏秒平衡,在一个PWM周期内合成任意方向的旋转电压圆,相比传统SPWM可提升约15%的直流电压利用率。该技术不仅涉及扇区判断、作用时间计算、过调制限幅等数学原理,还在MCU与FPGA两种硬件平台上有不同的工程实现路径,包括中心对齐PWM配置、死区插入、定点数流水线设计等。在电动工具、无人机、机器人及车载执行器等电池供电场景中,SVPWM直接决定续航与扭矩表现。本文从数学原理出发,详细拆解MCU和FPGA实现细节

weixin_34265814的博客 301

Palm OS 5开发概述

内容介绍 发布时间表 基于ARM处理器的Palm OS Palm应用程序兼容性环境 Palm OS仿真器 安全API 高密度API 性能 支持ARM原码 采样声音API Mac OS 管道开发工具(CDK Windows管道开发工具(CDK) Palm桌面软件的可扩展性框架 介绍本文是Palm OS 5版本的开发概述。本文旨在向你介绍

billpalm的专栏 1324

手把手教你用OpenCore在Dell Optiplex 3060上安装黑苹果(含ALC255声卡修复)

本文提供了一份详尽的指南,教你如何在Dell Optiplex 3060微型台式机上安装黑苹果系统。文章重点解决了使用OpenCore引导时的核心配置,特别是针对Intel UHD 630核显的驱动优化和Realtek ALC255声卡的修复方案,旨在帮助用户打造一个稳定可用的macOS工作站。

weixin_29275257的博客 789

告别手动配置!用Vector vLinkGen 2.1.0自动生成AUTOSAR链接脚本(附bss段配置详解)

本文详细介绍了如何使用Vector vLinkGen 2.1.0工具自动生成AUTOSAR链接脚本,告别繁琐的手动配置。通过解析vLinkGen的核心架构和bss段配置实践,帮助开发者提升嵌入式软件开发效率,支持多种主流编译器,实现精确的内存分配和初始化策略。

weixin_28716181的博客 377

PALM开发教程-第二章 建立一个应用程序

PALM开发教程-第二章 建立一个应用程序  作者:palmheart   来源:palmheart.net    无论你是一位编程专家还是初学者,通过本章的学习,你都将很快的学会Palm OS的编程。在这个过程中你首先要创建一个能稳定工作的开发环境。值得一提的是,开发环境并不仅仅是一些编程工具的简单组合,它更是一个能协助开发者更好完成工作的系统结构。一

mobilechannel的专栏 1712

STM32L452与FPGA通信翻车?手把手教你关闭I2C时钟延展避坑(附OVR错误解决方案)

本文深入解析STM32L452与FPGA在I2C通信中因时钟延展功能导致的常见问题,提供关闭I2C时钟延展的详细配置方法(NOSTRETCH模式),并针对可能出现的OVR错误给出Combined模式解决方案。通过实战案例和波形分析,帮助工程师快速排查和解决嵌入式系统中的I2C兼容性问题。

e3f4g5的博客 214

Palm开发工具及编程术语简介

目前国内的开发商和软件商纷纷瞄准PDA的软件开发这个方向,PALM的应用软件开发是软件开发的一个新热点。如果您想进行PDA程序的开发,了解一番基于Palm OS 系统平台的开发工具和一些常用的编程术语是一件非常重要的事。开发工具方面,可进行PALM程序开发的工具很多,我们按以下三类来作介绍。  一、Palm公司的开发工具:   1. Palm OS SDK  Palm OS SDK(Softwar

派的无理性 2494

ICT调试技巧:从基础到实战的全面指南

本文提供了一份全面的ICT调试技巧指南,涵盖从基础认知到实战应用的全过程。详细解析了ICT设备硬件结构、程序文件构成,并重点讲解了调试界面的核心参数与高效快捷键。通过跳线、电阻、电容及二极管等常见元器件的实战调试案例,分享了参数设置要点与典型问题解决方案,帮助工程师快速掌握ICT调试核心技能,提升测试效率与准确性。

weixin_29202213的博客 342

2、TCGA数据处理(差异分析前处理)

注意:1、是R语言中用于读取文本文件并创建数据框的函数。它可以从文本文件中读取数据并将其存储为数据框的形式,每一列代表一个变量,每一行代表一个观察值。2、括号要成对,不能少了;3、file = 'TCGA-LIHC.htseq_counts.tsv'引号可以是单或双引号,建议单;4、逗号主要中英文,都是用英文模式才没错;5、.tsv文件类型必须要有,不能删除,否则读不进来;6、上面代码将TCGA-LIHC.htseq_counts.tsv文件读入并赋值给count1。

PLW_12的博客 2667

Palm OS代码重用思想

作者:Robert Mykland,Palm OS Programming from the Ground Up 的作者,该书由 Osborne McGraw-Hill 出版发行 一些快速简单的设计方法的使用,能使 Palm OS 应用程序的大部分代码可以应用到下一个 Palm OS 应用程序。本文中我要介绍的内容是有关 C 语言中的公共头文件、事件抽象、方法和接口的分离、数据封装、多态性,以及可

mobilechannel的专栏 1106

uniapp - 解决 uni.chooseImage 在苹果 IOS 真机上点击没反应的问题,苹果手机点击 uni.chooseImage方法不生效,也不报任何错误(解决苹果ios系统点击无效问题)

uniapp小程序h5网页苹果ios系统点击uni.chooseImage不执行点击无效,uniapp使用uni.chooseImage方法点击没反应怎么办,uniappuni.chooseImage在ios苹果手机运行点击不触发,uniappuni.chooseImage苹果ios系统点击无效,uniapp项目ios端云打包之后uni.chooseImage不生效了,uniapp打包之后uni.chooseImage()无法打开相机,uniapp苹果手机无法打开相机和相册,uniapp网页h5微信支

🏆 前端领域优质创作者 1万+

Palm OS Developer Suite的安装和使用

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

diaozhuo4700的博客 266

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Palm Web OS 简介

http://www.cnblogs.com/vaiyanzi/archive/2010/04/05/1704650.htmlPalm Web OS 简介<br />1.简介<br />      Palm WebOS是新一代操作系统,通过网络客户端使其拥有前所未有的扩展能力。Palm Web OS平台由前苹果公司高管乔恩·鲁宾斯坦(Jon Rubenstein)领衔开发,而Palm Pre是首款采用Web OS的智能手机。 <br />  在人机界面上,Web OS非常友好,增强了多点触控体验,另外强化无

IT技术男的博客 1121

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

谷歌全面反攻 ChatGPT!PaLM 2、Gemini 双杀,Bard 正式开放

这是 Google 不能输的战役,也是全面 AI 的时刻,一场演讲,Google CEO Sundar Pichai 提了不下 25 次的「AI」。

优快云资讯 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 掌中咖啡:移动开发中的JAVA应用
下一篇: Office 2008 for Mac开发宣告完成,界面不错
ciyi7513
博客等级 码龄11年 2粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值