SymbianOS精要新手入门Symbian认证程序员考试鉴定考生掌握SymbianOS核心知识的水平。考试范围包括理论和实践两个方面,综合评估了考生对于SymbianOSC++的理解与实际应用的能力。每次考试均由从当前题库中选取的一套试题组成。所有试题都有其难度系数并根据考生在应试时的表现来设置下一道试题的难度。考试通过者将获得《Symbian认证程序员》证书。更多信息,请访问网站:《Symbian认证程序员》是智能手机软件开发行业的标准资格认证。fromSymbianOS精要新手入门编稿:MarkShackmanMartindeJodeFreddieGjertsenPhilNortham执行编辑:FreddieGjertsenSatuMcNabb审稿:NishaatRajabaliJamesNashJohnPagonis设计顾问:AnnabelCooke设计师:JamesMentz中文版:审稿:新手入门SymbianOS精要系列丛书出版人:Symbian软件有限公司地址:2-6BoundaryRowSouthwarkLondonSE18HPUK商标、版权和免责条款“Symbian”、“SymbianOS”和其它与Symbian相关的标识都是Symbian软件有限公司的商标。Symbian软件有限公司承认本书中所提及的所有第三方的商标权。Symbian软件有限公司2006版权©。版权为本公司所有。本书中任何内容未经Symbian软件有限公司的书面许可不得复制。Symbian软件有限公司对本书所含内容的恰当性与准确性不作任何保证或担保。本书的内容除了供一般参考之用,不应该被用于任何其它目的。目录SymbianOS简介............................................................3我需要什么?...................................................................5如何选择SDK?...............................................................7如何获得SDK?...............................................................10如何安装SDK?...............................................................12下一步进阶?...................................................................18开发者资源......................................................................233SymbianOS简介当前有很多手机运行SymbianOS,数量甚至超出您的想象。到目前为止已经有超过7500万、100多种型号的手机运行SymbianOS。这些电话大部分都形态迥异:有的配有键盘,有的采用笔控输入;有的配备TFT彩色屏幕,有的则配备黑白LCD显示屏;有的擅长于音乐播放,有的专注于电子游戏、图像处理甚至电视功能;有的手机面向个人消费者,有的专门针对商务用户;有的是为单手操作设计的,有的是为双手操作设计的——种类繁多不一而足。SymbianOS手机受到广大消费者的喜爱。仅2005年就售出3400万部SymbianOS手机——这相当于每不到一秒钟就有一部SymbianOS手机被出售。(比我们最大的竞争对手多出10倍以上的销售量)。网络运行商同样青睐SymbianOS手机。全球有250多个移动电话网络运行商选择了SymbianOS手机。4所有这些都表明现在市面上有成千上万的手机是基于SymbianOS的,所以您编写的应用程序会得到广泛的应用。现在已经有300多个白金合作伙伴与我们合作,共有5400多种商业性应用软件可供SymbianOS手机应用。本书旨在为您提供一些编写SymbianOS应用程序的入门知识。我们希望它会对您有所裨益,为您今后开发SymbianOS应用程序打下一个良好的基础。开发语言从开发初期起,SymbianOS就是专门为移动电话而设计的,因此从弹性的电源管理(resilientpower-management)到内存资源的谨慎使用,全都是为了满足手机操作系统的特定需求。作为SymbianOS的开发人员,您将受益于SymbianOS这样一个专门为移动设备而创立并随着市场一起发展的开发平台。SymbianOS最“基本”的编程语言是一种改进的C++。SymbianOSC++经过特殊设计与优化,以利于降低手机电池能耗和内存使用。比如,为了节约电池耗电,所有SymbianOS程序都是基于事件(event-based)的,而当没有任何程序进行事件处理时,CPU就进入休眠。5您在开发软件时也可以使用Java、Python、.NET(使用VisualBasic和带AppForge’sCrossfire的C#)、Perl、OPL和AdobeFlash,但是SymbianOSC++是最强大(它允许最大限度的利用操作系统提供的所有功能)也是最快捷(因为它直接以编译码运行,而无需在运行时进行解译)的语言。这也就是为什么我们在本书中选择C++来向您演示如何进行SymbianOS开发的原因。好了,闲言少叙,让我们言归正传。我需要什么?首先您需要有一台电脑能创建并测试在SymbianOS手机上运行的应用程序。这也就是说电脑要有一个较快的CPU处理器(至少1.5GHz)和相当大的RAM(512MB或更大)以及一个大容量硬盘(至少有2GB剩余空间)。该电脑必须能运行Windows2000或XP操作系统。然后您需要开发软件来帮助您编写代码并进行编译。这可通过包含编辑程序(editor)、编译程序(compiler)和链接程序(linker)的集成开发环境(IDE)来完成。在这推荐两种适合SymbianOS程序开发的IDE。对于开发非商业用途的SymbianOS应用程序,Nokia的Carbide.c++Express版本是最理想不过了,它建立在EclipseIDE的基础上,供免费下载。对于专业开发人员来6说,当前推荐使用CodeWarriorIDE,因为它提供一个支持各种版本SymbianOS开发和目标调试的稳定环境。(一旦Carbide.c++的开发版和专业版出台,就会成为商业开发的推荐IDE。)对于使用VisualStudio.NET2003的程序员来说,也可选择Carbide.vs。这是一套基于MicrosoftVisualStudio.NET2003IDE的工具,用于开发S60和Series80软件。您还需要软件开发包(SDK),专门用来编写和创建SymbianOS应用程序。基于不同手机类型,有不同版本的SDK供选择,具体使用哪个SDK请见以下几页的说明。如果您还没有决定具体的手机类型或平台而无法确定选择哪个SDK,我们建议您一开始可使用S60和UIQSDK。如果您想为最新款的手机(如Nokia3250、E60、E61、N71、N80、N91、N73或N93)编写应用程序,那就选择基于SymbianOSv9的SDK(UIQ3或S60第三版),要么您就选择更低版本的SDK(UIQ2.1或S60第二版)。7不同版本的SymbianOS之间有什么区别?主要的分别是,在SymbianOS9.1版本之前,为较低版本的SymbianOS编写的软件往往可在较高版本上运行,但9.1版本与以往的版本截然不同。如要运行在9.1版的SymbianOS上,应用程序必须稍加修改并进行再次编译。接下来您需要下载您所选择的IDE和SDK。以下章节将向您介绍如何在互联网上找到这些工具。下载完成之后您可参照《如何安装SDK》创建您的第一个应用程序。如何选择SDK?基于SymbianOS的手机外型各异,用户界面(UI)也不尽相同。为了给特定的用户界面编写应用程序,您必须选择特定的SDK(尽管应用程序的引擎往往与用户界面无关)。8大部分运行SymbianOS的手机采用的是S60用户界面并使用键盘操作。S60已经发布了一系列版本,选择正确的S60SDK和相应的SymbianOS十分重要:•S60第三版–SymbianOSv9.1•S60第二版功能包3–SymbianOSv8.1•S60第二版功能包2–SymbianOSv8.0a•S60第二版功能包1–升级SymbianOSv7.0s•S60第二版–SymbianOSv7.0s•S60第一版–SymbianOSv6.1您可在以下网站查到每一系列S60SDK所包含的手机型号列表:其它大部分基于SymbianOS的手机采用笔控输入的UIQ用户界面。UIQ也经过一系列改进:•UIQ2.0–SymbianOSv7.0•UIQ2.1–SymbianOSv7.0•UIQ3.0–SymbianOSv9.1以下网站列出了基于各版本的UIQSDK的手机机型还有三种特殊的SDK。第一种基于SymbianOSv7.0s的SDK用于Series80Communicator系列手机(Nokia9300和9500)。第二种是专用于Nokia7710,而第三种专用于Nokia9200手机。10•Carbide.c++Express软件下载及相关信息:此页面也包括Carbide.c++其他版本的发布信息。•Carbide.vs软件下载及相关信息:插件:developer.uiq.com/devtools_tools.html•CodeWarrior软机下载、购买及其它信息:如何获得SDK?本章向您提供前文所述资源的下载地址和相关信息。IDEs•SymbianOS、C++的S60平台SDK基于SymbianOSv9的SDK11•UIQ3SDKdeveloper.uiq.com/devtools_uiqsdk.html•SymbianOSC++S60SDK•SymbianOSC++(Nokia9300和9500)Series80SDK•SymbianOSC++的Nokia7710SDK,点击链接进入Nokia7710下载页面。•SymbianOS的Nokia9200SDK,点击链接进入Nokia9200下载页面。•UIQ2.1SDK•UIQ2.0SDK基于SymbianOSv7和v8的SDK12如何安装SDK?首先要安装IDE。对初学者来说最好选择CarbideExpress,它可以在诺基亚论坛(ForumNokia)的网站上免费下载。请根据说明下载并进行安装。安装SDK时,请确保选择与NokiaCodeWarrior编译器兼容的SDK,标示为WINSCW(WIN指Windows,而CW指CodeWarrior)。这是因为CarbideIDE目前只支持WINSC