用S60操作系统SDK开发NOKIA手机应用程序(5)-范例HelloWorld分析
以下文字大量的参考了Nokia的文献(因为我比说的详细,正确)
S60 C++应用程序范例HelloWorld
Symbian OS 6.1
60系列平台成功的关键就是Symbian OS,Symbian操作系统是该产品的基础。 Symbian OS是32位的多任务操作系统,在这种系统中事件经常不同时发生,应用程序因此被设计成可以进行相互间的交互。比如:突然的来电可能打断用户正在进行的电子邮件编辑工作;某位用户也许在通话过程中要从电子邮件切换到日程表应用程序;或者,一条刚收到的短消息可能触发用户去访问联系人数据库,然后再转发收到的短消息。按照平台架构和软件设计指导,应用程序设计者可以为智能电话用户在日常生活中遇到的这类事件提供井然有序的管理手段。
60系列C++软件开发工具包
60系列平台备有自己的SDK,它基于Symbian SDK。第三方开发商可以使用API用C++来开发60系列平台的新应用,并将这些应用包含到他们自己的产品中,或作为不同于销售应用的各种增值应用。 60系列SDK向开发伙伴提供文档、工具和示例代码等支持,同时还提供一个可在微软Windows中运行的模拟器。该SDK对于开发、测试和调试各种C++应用程序是非常重要的。
C++应用程序范例
用于60系列设备的两个“Hello World”应用程序,其中一个是控制台应用程序,另一个是基本的图形用户界面应用程序。需要用微软的 Visual C++ 6.0(Service Pack 3)来建立这些应用程序,由于该SDK的编译系统调用Perl脚本,所以也必须安装Perl应用。
控制台应用程序
第一个“Hello World”范例是一个控制台应用程序,它包含一个具有扩展名 .exe 的单一可执行文件。在Symbian OS中,这种可执行文件主要用于两种目的:作为没有用户界面的服务器,或者作为只具备非常简单的字符界面的测试工具。各种典型的复杂图形化应用程序则会用到应用
程序框架和各种用户界面库。而本文稍后将介绍一个基于图形化用户界面的“Hello World”应用程序。
创建并以命令行运行
打开命令提示符,选择装有60系列SDK的驱动器,进入包含项目代码的文件夹,比如: /Symbian/6.1/Series60/Epoc32Ex/Basics/HelloWorld
该文件夹中有3个文件:
HelloWorld.cpp - 源文件
HelloWorld.mmp - 项目定义文件
Bld.inf - 组件定义文件
要建立该范例程序,请键入: bldmake bldfiles 这条命令将生成一个新文件,即ABLD.BAT;该文件总是按照一定的要求自动生成,不应对其进行编辑。
要编译并链接该项目,请键入: abld build wins udeb 这条命令将建立一个针对60系列调试模拟器的项目。
用下列方法运行这个程序: 在命令提示符状态,进入含有“Helloworld.exe”程序的文件夹。比如: /Symbian/6.1/Series60/Epoc32/Release/wins/udeb 在命令提示符后键入: helloworld
这样就启动了60系列模拟器
从IDE(集成开发环境)建立并运行程序
通常诸如HelloWorld这样的应用工程是在微软 的Visual C++ 6.0 IDE(集成开发环境)里创建并运行的,
其步骤如下: 如果ABLD.BAT文件并不存在(或者,如果.mmp文件或bld.inf文件已经被更改),必须键入如下命令生成创建(Build)命令文件
: bldmake bldfiles
接下来的命令是: abld makefile vc6 这样就创建了Visual C++项目和工作空间文件(.dsp和.dsw)。
这两个文件位于/epoc32/build子目录下,即: /epoc32/build/symbian/6.1/series60/epoc32ex/basics/helloworld/helloworld/wins 在Visual C++中打开工作空间文件HelloWorld.dsw,按F7创建(Build)该应用,然后按Ctrl+F5运行该应用。
控制台模拟器将随着HelloWorld应用程序的运行而自动启动。
Symbian OS应用程序框架
UIKON和标准的EIKON是应用程序框架的两个重要部分。它们不仅为装载各种应用提供框架,而且也为应用程序的运行提供了一系列的标准控件
(如对话框、数字编辑器、日期编辑器等)。
在实践中,为Symbian OS编写的典型应用由四种不同的组件组成,每个组件都对应一个UIKON/EIKON框架中的类,它们是: