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

无论你是一位编程专家还是初学者,通过本章的学习,你都将很快的学会Palm OS的编程。在这个过程中你首先要创建一个能稳定工作的开发环境。值得一提的是,开发环境并不仅仅是一些编程工具的简单组合,它更是一个能协助开发者更好完成工作的系统结构。一旦源代码能够在开发环境中正常的编译并运行,这就意味着你迈出了整个程序编写过程中最重要的一步。在程序以后的修改过程中,就是一些其它的尝试和寻找B UG的工作了,当然完成这些工作也都是要在开发环境中反复调试的。

在简单复习一下Palm OS应用程序的基本结构后,我们就将创建一个这样的开发环境。然后我们将仔细研究资源编程的实质和Palm OS的代码。我们最后得到的将是一个简单而又实用的Palm OS应用程序。

编程环境
我们几乎全部使用C语言来编写应用程序代码,因为用C编写的Palm OS应用程序开销是最小的。书中的大多数例子都利用了Metrowerks Code Warrior编程环境。一般情况下,我们假定你使用的计算机操作系统是Windows。在所附光盘中,包含了一个免费的Metrowerks Code Warrior Lite版本,可以在Windows 9x和NT下运行。

用Mac作为开发平台

如果你使用的是Mac操作系统,那么你就需要做更多的工作,毕竟例子都是为Windows操作系统编写的。当然,在所附光盘中也提供了Mac版本的M etrowerks Code Warrior Lite。事实上,Mac版本和Windows版本的Code Warrior是很相似的。

对C语言应知道多少
在开始做本书的练习以前,假设你已能用C语言编写简单的程序。我建议你至少拥有一本有关C语言的好书。如果还没有的话,Herbert Schildt编写的《Teach Yourself C》(Osborne/McGraw-Hill,1997)是一个很不错的选择。

Palm OS应用程序的剖析
Palm OS的C语言编程和普通的C语言编程非常的相似。源代码被编译,并和一些控制Palm设备内部运行机制的库文件连接到一起。图2-1展示了一个P alm OS可执行程序是如何通过各种不同文件编译和连接后得到的。

另外,资源文件是被单独编译和连接的。它们用来表示程序中的图形元件,诸如窗体、按钮、编辑框等等。很多现代的图形应用程序环境如M ac OS和Windows也是用资源文件来描述它们的用户界面的。

每一个窗体都包含大量的按钮或其它控件。在资源文件中包含了应用程序所有窗体的所有信息。你可以通过Metrowerks Constructor(构造器)编辑资源文件——添加、改变或删除窗体和按钮等。

深入什么是控件?
控件就是用来接受用户信息的屏幕上的特殊区域。它可以从简单的如按钮(通过手指或输入笔激活)到复杂的如窗体(其中包含了各种不同的其它控件)。你可以通过资源编辑器创建和定义控件。

Palm OS的存储器
传统的存储器一般分两种:一种是快速但掉电后丢失数据的RAM,另一种是低速但永久保存数据的硬盘存储器。大多数计算机在将数据从诸如硬盘、C D等存储设备转移到RAM时花费了大量的时间。

在这方面Palm的存储器较之传统计算机设备有着很大的区别,它使用的是另一种形式的存储器:快速且可永久保存的存储器。这使得它操作数据的速度有了极大的提高。同时P alm是没有文件系统的,它的工作原理实际上就是把存储器组织成数据库的形式。从基本上来说,存储器中的所有东西都被保存成数据库形式。甚至应用程序也是以这种形式保存的。应用程序所在的数据库就是由可执行的代码以及其它在资源编辑器编辑过的资源来填充的。

对于传统的计算机应用程序,为使程序更快的运行,不可避免的存在着多个数据块的拷贝,如一个拷贝在RAM中,一个拷贝在硬盘上。但在P alm OS中,你如果移动数据或制作拷贝却完全没有必要,因为不管你的数据块在什么地方,Palm OS都能直接的访问到它,这是把存储器组织成数据库形式的好处之一。

图2-1:一个Palm OS 应用程序是怎样产生的源文件(Source File *.C) 文本编辑器(Text Editor) 头文件(Income File *.H) 编译器(Compiler)库(Librarian)对象文件(Object Files .OBJ 或.O) 资源编辑器(Resource Editor)库文件(Library Files *.LIB) 连接器(Linker) 资源文件(Resource Files *.RSRC) 可执行文件(Executable File *.PRC)

Palm OS应用程序的执行和调试
Palm一次只能执行一个程序。你可通过选择主菜单中的应用程序图表或按下在Palm底部的四个按钮的其中一个来运行程序。一旦一个程序开始后,它只在另一个程序开始时才会中止。当你关闭P alm后,程序停止,但再次打开后,程序将在断点处继续执行。

当你测试程序时,Code Warrior开发环境会运行一个叫Console的程序来初始化调试信息。Code Warrior将把代码及其它调试信息传给Console,然后Code Warrior利用Console来执行程序、单步测试、设置断点、检查数据等等。当你调试完程序后,最好重启一下你的Palm,即按下调试面板上的X 按钮或用push-pin(或其它尖的东西)插入Palm背后的洞来重启。这样,你就可以把保存在存储器工作区域的数据清除掉。

Console文件是作为隐藏文件保存在Palm中,你并不需要为调入Console而做任何事情。
深入什么是调试器呢?调试器就是用来寻找和修改程序中存在问题的计算机应用程序。就Code Warrior和Palm OS来讲,调试器内嵌在PC中并与Console文件相关联用来检查程序运行时是否有什么问题。调试器可让你一步一步的观测代码和变量。你还可以设置断点来观测当程序运行到此处时会出现什么问题。

开发环境的安装
根据随书光盘所指出的步骤安装 Code Warrior。Code Warrior Lite和Code Warrior几乎一样,但为了督促某些程序员使用正版软件,它在程序的大小和复杂程度上有一定的限制。如果要成为一个真正的开发人员的话,我认为还是购买一套完全版的C ode Warrior为好。即便你不想立即购买,你在读完本书后也该拥有一套。

在Windows计算机上安装完Code Warrior或Code Warrior Lite 后,你或许会发现你的构造器(constructor)还存在问题,那就是你所建窗体上的字体太大了。你须进行以下步骤以使你的构造器正常运行:
1. 找到包含操作系统的文件夹,一般情况下在C:盘上的Windows目录下;
2. 打开Windows文件夹;
3. 打开Fonts文件夹;
4. 关闭Fonts文件夹;
5. 关闭Windows目录;
现在你的构造器就可正常工作了。

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

转载于:http://blog.itpub.net/10294527/viewspace-126911/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值