symbian系统开发教程_第1页
symbian系统开发教程_第2页
symbian系统开发教程_第3页
symbian系统开发教程_第4页
symbian系统开发教程_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、symbian 系统开发教程(一)第一章:Symbian OS 简介谢兴enigma19971hotmailSymbian系统简介当前有很多运行SymbianOS,数量甚至超出您的想象。到目前为止已经有超过7500万100多种型号的运行SymbianOS。这些大局部都形态迥异:有的配有键盘有的采用笔控输入;有的配备TFT 彩色屏幕,有的那么配备黑白LC 显示屏;有的擅长于音乐播放,有的专注于电子游戏、图像处理甚至电视功能;有的面向个人消费者,有的专门针关于商务用户;有的是为单手操作设计的,有的是为双手操作设计的种类繁多不一而足SymbianOS受到广阔消费者的喜爱仅2005 年就售出3400

2、万部SymbianOS这相当于每不到一秒钟就有一部SymbianOS被出售。网络运行商同样青睐 Symbian OS。全球有250 多个移动网络运行商选择了SymbianOS。一切这些都说明现市面上有成千上万的是鉴于SymbianOS 的,所以为symbian系统开发的应用程序会得到广泛的应用。现在已经有5400 多种商业性应用软件可供SymbianOS应用。本教程旨在为您提供一些编写SymbianOS应用程序的入门知识。希望它会关于您有所裨益,为开发SymbianOS 应用程序打下一个良好的根底。开发语言从开发初期起,SymbianOS就是专门为移动而设计的,因此从弹性的电源管理(resil

3、ientpower-management)到内存资源的谨慎使用,全都是为了满足操作系统的特定需求。作为SymbianOS的开发人员,您将受益于SymbianOS这样一个专门为移动设备而创立并且随着市场一起开展的开发平台。Symbian OS 最“根本的编程语言是一种改良的 C+SymbianOSC+经过特殊设计与优化,以利于降低电池能耗和内存使用。比方,为了节约电池耗电,一切Symbian OS 程序都是鉴于事件(event-base) 的,而当没有任何程序进行事件处理时 就进入休眠您在开发软件时也可以使用JavaPython使用Visual Basic和带AppForgesCrossfire

4、的C#PerlOPL和AobeFlash,但是SymbianOSC+ 是最强大它允许最大限度的利用操作系统提供的一切功能也是最快捷因为它直接以编译码运行而无需在运行时进行解译的语言这也就是为什么我们在本书中选择C+ 来向您演示如何进行SymbianOS 开发的原因。好了,闲言少叙,让我们言归正传。准备工作首先您需要有一台电脑能创立并且测试在SymbianOS上运行的应用程序。这也就是说电脑要有一个较快的CPU处理器至少1.5GHz和相当大的RAM512MB或更大以及一个大容量硬盘至少有2GB剩余空间。该电脑必需能运行Winows2000或XP操作系统然后您需要开发软件来帮助您编写代码并且进行编

5、译这可经过包含编辑程序(eitor)编译程序(compiler) 和链接程序(linker) 的集成开发环境(IE)来完成。在这推荐两种适合SymbianOS程序开发的IE。关于于开发非商业用途的SymbianOS应用程序,Nokia的Carbie.c+Express 版本是最理想不过了,它建立在EclipseIE 的根底上供免费下载关于于使用VisualStuio.NET2003的程序员来说,也可选择Carbie.vs。这是一套鉴于Microsoft VisualStuio.NET2003IE 的工具,用于开发S60 和Series80 软件。您还需要软件开发包(SK),专门用来编写和创立S

6、ymbianOS应用程序鉴于不同类型有不同版本的SK 供选择,具体使用哪个SK 请见以下几页的说明。如果您还没有决定具体的类型或平台而无法确定选择哪个SK,我们建议您一开始可使用S60 和UIQ SK。如果您想为最新款的如Nokia3250、E60、E61、N71、N80、N91、N73或N93编写应用程序,那就选择鉴于SymbianOSv9的UIQ3或S60第三版要么您就选择更低版本的UIQ2.1 S60 Symbian OS Symbian OS 9.1 版本Symbian OS 9.1 9.1SymbianOSIE SK上找到这些工具。S60 平台S60 平台是一个完整的应用程序包pac

7、kageSymbian 开发工具。S60 (UI) 经过精心的设计,方便用户使用,便于单手操作。从用户的角度可见,该平台最大的特点在于它的用户界面:大的彩屏和各种输入键(两个软件键, 位的导航键,和几个专用的键)。 单手操作和大彩屏的优点能使应用程序开发者提供更有吸引力的内容和提供更方便的导航功能,同时增加用户使用 时的愉快体验。目前,s60 平台上已经存在各种各样的应用软件. 其中最重要的有:高级智能 应用程序,个人信息管理应用程序PIM(例如, 簿,日历, 相册), 短信, 网页浏览, 电子邮件和应用程序安装引擎,它能够让您自由地从电脑上下载软件到您的 上。S60 第三版本支持两种不同的外

8、观QVGAPortrait(240 x320)QVGA Lanscape(320 x240)SKSymbianOS 的 外型各异,用户界面(UI) 也不尽相同。为了给特定的用户界SKSymbian OS 的 采用的是 S60 S60 S60 SK Symbian OS 十分重要:S60 Symbian OS v9.1S60 3 SymbianOSv8.1 S60 2 SymbianOSS60 1 Symbian OS S60 Symbian OS v7.0sS60 Symbian OS v6.1您可在以下网站查到每一系列 S60SK所包含的型号列表:symbian/eveloper/sks/s

9、ks_series60.asp其它大局部鉴于SymbianOS的采用笔控输入的UIQ 用户界面以下网站列出鉴于各版本的UIQSK 的机型symbian/eveloper/sks/sks_uiq.asp您可以到以Nokia的网站下载SKforum.nokiaCarbie.c+ 集成开发环境IE前面已经提到了各种集成开发环境,这里我们主要介绍 Carbie.c+Carbie.c+的集成开发环境(IE)Eclipse 3Eclipse 处理symbian c+ Symbian 工程的插件。这些插件分为以下几类:C/C+开发工具箱CTEclipsesymbian具集Symbiansymbianecli

10、pseEclipseC+SymbianSymbian工具链的支持。Nokia Nokia Symbian C+编译器,symbian Carbie.c+高级特性。很鲜明,因为 Carbie.c+是根本的 Eclipse 集成开发环境,开发者可以进一步定制其它的商业或免费的插件,比方说,一个版本控制系统,一个 UML 建模系统等。Carbie.c+的集成开发环境和 Eclipse 开发环境十分类似,如下列图所示,因为 Carbie.c+是设计用于symbian c+c/c+工程视图,这个视symbianc+工程源文件、头文件,资源文件。eclipse 的其他著述。开发环境的构建JK5.0Acti

11、vePerl5.6.1以上版本Symbiansk第三步:安装Carbie.c+1.2 版本。Carbie有不同的版本。其中Express版是免费安装的,但不支持UI设计功能,也不支持在上调试的功能。注意:这几个文件需要放在一个目录下面。否那么,在编译程序的进程中,可能会出现难以预料的错误。文件目录的布局SKIE UI 局是怎样的。当工程增长到一定程度的时候,好的文件目录布局将有助于帮助跟踪代码的变更。工程中包含了各种不同类型的文件,囊括源文件和其他类型的文件,我们通常将这些文件分开来存放,下面我们简短地介绍这些文件。资源文件, .bmp .wav 文件, 会和产品代码分开来存放。所以,一个典范

12、的 UI 应用程序会犹如下这样一些目录结构和文件。文件目录存放文件类型ata (S60)存放资源规格文件(.rss)Gfx (S60)应用程序资源文件,例如图片和声音文件。Group(.mmp bl.inf)Images (UIQ)应用程序资源文件,例如图片。Inc(typically .h, .hrh .inl)rsrc (UIQ)存放资源规格文件 (.rss, .ra)src.CPP 文件Test存放测试代码在 group 目录下面,有两个重要的文件,这两个文件都与创立 Symbian 工程相关: 如果,需要在命令行编译工程,必需创立如下两个工程文件:(.mmpmake files 组件描

13、述文件(bl.inf),这个文件列出了一组相关的工程并且包含一些编译指令. CoeWarrior 和 Carbie.c+ IE 下面详细描述这些文件的格式。组件component描述文件bl.infBl.infmmp何编译工具所需要的文件。该文件分为多个节,其中,mmp 文件列表在 PRJ_MMPFILES mmpblbl.inf文件。/ 目标平台PRJ_PLATFORMS WINSCWGCCE/ 从工程中输出的文件PRJ_EXPORTS/ None/ 工程定义文件PRJ_MMPFILESfilebrowseapp.mmp/ 工程定义文件测试代码用PRJ_TESTMMPFILES.testFi

14、leBrowseTest.mmp在上面的例子中PRJ_PLATFORMS平台和 GCC-E 平台的执行代码。 当您用 CoeWarrior 为模拟器编译代码的时候,您使用的WINSCW 平台WINSCW Winows, in a Single process,CoeWarrior编译。平台的名称用来标识最终的可执行代码所运行的那个平台。 所以, 当上面的代码被编译完后,可执行程序被放在 epoc32releasewinscw 目录下面(根据是调试ebug版本还是释放release版本,被放在 ueb 或 urel 子目录下面)。如果代码是针关于 硬件的,需要选用 GCCE 平台。这时,最终的可

15、执行代码被放到epoc32releasegcce目录下面。工程描述文件mmp 文件中的每个语句都以一个关键字开头。下面是一个典范的 mmp 文件的例子。/ filebrowseapp.mmpTARGETfilebrowseapp.exeTARGETTYPEexeUI0 x100039CE0 xE80000A6VENORI0#ifef WINSCW CAPABILITYAllFiles/AllFilesonemulatorsincenosigningisrequire #elseCAPABILITYNONE/Nocapabilitiesonharware-otherwiseSISsigning

16、isrequire#enifSOURCEPATH SOURCE SOURCE SOURCE SOURCE SOURCESYSTEMINCLUE USERINCLUESOURCEPATHSTART RESOURCE TARGETPATH HEAERENSTART TARGETPATH EN.src FileBrowseAppUi.cpp FileBrowseocument.cpp FileBrowseApplication.cpp FileBrowseBaseView.cpp RFsEngine.cppepoc32inclue.inc.atafilebrowseapp.rssresourceap

17、psfilebrowseapp_reg.rssprivate10003A3FappsSTARTRESOURCETARGETPATHresourceappsLANGSCHEAER ENSTART BITMAP filebrowseapp.mbm TARGETPATH resourceapps HEAERSOURCEPATH .gfxSOURCE C16 foler.bmp SOURCE C16 file.bmp SOURCE 8 mask.bmp ENLIBRARYeuser.libefsrv.libcone.libeikcore.libeikcoctl.libeiklg.libegul.lib

18、eikctl.lib apparc.libLIBRARY bafl.libLIBRARY avkon.libCommonEngine.lib下面简单地描述每个关键字的作用:TARGET该关键字指明了目标文件exe 或 ll 文件的名称。TARGETTYPEll,exe 或是其他的插件pluginUI目标通常指可以执行的.exe 或.ll UIUI 用来标识组件,第一个UI 上是 UI2,这个值进一步指明了目标的类型,上面例子中,值0 x100039CE指明了目标SymbianUI每个应用程序来说都是唯一的。它标识了这个应用程序的注册资源文件和该程序的安装包文件.pkg, Symbian 据库中

19、为您的应用程序分配一个 。可到 Symbian UI SK 中的例子:文件系统浏览应用程序filesystem browserUI 0 xE80000A6, 要在您的最终产品中使用它。SECUREI这是个可选的关键了,上面的例子中没有出现。该关键字为应用程序定义了平安标示符,用UI3 字。VENORI该关键字是在 Symbian OS v9.1 版本新增的。用来指定软件提供商的 I 号。该关键字不是必需的,可省略。CAPABILITY这是 Symbian OS 9.1 新增加的关键字。该关键字指明了应用程序的权限或称作能力,如: 察看系统目录。大上面的例子中 ,应用程序在模拟器上和在 上被分配

20、了不同的能力capabilityAllFiles 的权限比在 上运行时,能看到更多AllFiles 能力的程序不能看到Sym 程序只有在经过认证certificate以后才能获得 AllFiles 我们在这一章的后面会讲到。SOURCEPATH和 SOURCESOURCE 关键字指明了有哪些源文件和资源文件需要编译,而 SOURCEPATH mmp SYSTEMINCLUE这个关键字指定了系统头文件的位置,系统头文件通常用#inclue语句包含。USERINCLUE该关键字的作用类似于 SYSTEMINCLUE,它指明了在用户自定义头文件所在的位置。START RESOURCEENSTARTR

21、ESOURCE 关键字说明了一个信息块的开始,这些信息指明了如何编译资源文件。EN 标示该信息块结束。TARGETPATH: 由于平安方面的考虑,一切的可执行代码exe ll都从 上的sysbin TARGETPATH 关键字仅仅用来指定编译后的资源文件的位置。HEAER这是一个可选的关键字,当它被使用的时候,系统将会在 epoc32inclue路径下创立资源头文件.rsg。这个头文件包含了允许以 C+代码引用特定资源的标识符。LIBRARY这个关键字列出了应用程序需要链接的库文件。STATICLIBRARY该关键字用来指定需要被静态链接的库文件 (库文件中的代码会被链接到您的程序中,而不是需

22、要时才装载到内存)。START BITMAPEN这一节包含了应用程序图标所使用的位图bitmap,以及如何将这些位图编译成.mbmSymbian 系统专有的图像格式的方式。EPOCSTACKSIZESymbianOS版本中,缺省的栈0X5000 v9.1 0 x2000。为了增加栈的大小,可以使用该关0 x5000 , 模拟器无效。EPOCHEAPSIZE该关键字也是可选的,我们上面的例子中并且未用到。这个关键字指定了应用程序可以使用的最大、最小堆空间。缺省情况下,4K 为最小的尺寸,1M 为最大的尺寸。HellowWorl创立工程Carbie file-New-SymbianOSC+proj

23、ect,图所示的关于话框:我们选择带用户界面设计器的图形用户界面应用程序Carbie Express 版本不支持用户界面设计的功能。然后点击“下一步按钮。出现下面的关于话框:sk s60_3r_FP1 sk按下一步,继续:选择一个空的界面,这样我们可以自由地在上面添加控件。下面的步骤一直按“下一步, 直到完成。在模拟器上运行和调试工程建立完成后,就可以构建buil工程了。在将程序放到 上运行之前,我们通常需要先在模拟器上运行、调试程序。模拟器是 SK 附带的一个软件,能够模拟真实 的运行情况。在工程透视图中,选中工程,点击右键,将活动构建设置为 Emulator ebug(Winscw)。如下

24、列图所示:这样,编译出来的程序版本才是针关于模拟器的。设置后,可以构建buil工程了:在工程 透视图中选中工程,点击右键,选择“buil Target 最后,点击工具栏上的运行按钮,选择RunAs-1RunSymbianOSApplicationCarbie启动模拟器,这个进程需要持续几十秒到几分种,依赖机器的配置。在模拟器启后,点击模拟器上的软件键,模拟器会出现下面的界面:选择 Installe 选项后,可以看到应用程序的图标:在模拟器上点击按钮,运行该程序。在上运行和调试根本概念能够在模拟器上运行、调试程序后,您可能想要在真实的上运行您的程序。但这之前,先需要搞清以下几个根本概念:GCCE

25、ARM版本:在真实设备上运行的程序版本不同于我们在模拟器上运行的程序版本,在设GCCEARMGCCESK ARM ARM GCCE版本的程序,但需要付费。.sis文件和.pkg:GCCESymbian.sis.sisexe,ll,rss文件,和一些 接受应用程序时所必需的信息例如:语言种类,应用程序的UI sispkg文件,pkg文件中包含了一些有用的信息,囊括将工程文件拷贝到 的哪个目录下面, 程序的版本号等。签名(sign):在开发s603r版本的应用程序时,一切的.sis文件在安装到之前,必需被签名如果您的程序没有用到capability 或只用到了关于一切的用户都开放的功能utilit

26、y,您可以使用自签名认证SelfSignecertificate。当在自己的上调试程序时,这种方法特别管用。 机上调试代理on-eviceebugagent:理程序经过蓝牙或 USB 串行链路与调试器通信,在 Carbie.c+到接口的作用。调试代理提供以下功能:Symbian 系统上作为调试代理。Symbian系统提供一个稳定的集成的接口能被用来在真实的设备上调试应用程序sis文件。使用机上调试代理, Carbie.c+ 程序,这使得调试进程更为容易。机上调试代理可以在一切的 S60 3r UIQ 2n UIQ 3r 版本的设备上。编译、运行应用程序的 版本在清楚这些根本的概念后,下面我们看

27、看,如何编译和运行 GCCE 版本的应用程序:GCCE版本.Symbian 安装文件(.sis)。给.sis文件签名。s60 sis文件。运行该应用程序。首先,我们按下面的步骤,在 Carbie 中,编译 GCCE 版本和创立 sis 文件。ProjectProperties 选项.在属性关于话框上, C/C+Buil。Configuration S603.0GCCEUREL。OK。ProjectBuilProject 如下列图所示:Carbie根据工程的设置,创立了一个能在上运行的版本。如果编译的过中没有出错,可以在目录Symbian9.2S60_3r_FP1Epoc32releasegcc

28、eurel 中找到已经编译好的可执行文件然后,可以进行下一步:生成sis文件。sis 文件夹中的 .pkg ,在弹出菜单中选择:buil PKG file如下列图所示:如果边编译的进程没有出错,可以在 sis 文件夹中找到经过签名的.sis 文件和扩展名为.cer 证书文件和扩展名为.key Carbie 自动生成的。将经过签名的.sisxUSB接口下载到 WAP,邮件附件红外然后用文件管理器安装,如果安装的时候没有错误提示,我们就可以在 上运行程序了。在上调试在真实的 设备上调试比在模拟器上调试越发准确,而且不必使用昂贵的硬件调试设备。前面我们提到过,在 上调试, 需要安装调试代理,有两不同

29、的机上调试代理,诀别为:Application TRK 和 System TRKApplicationSystem TRK不但支持应用程序的调试,还支持有限的 ROM 它来调试设备驱动程序。现在,我们来看看:如何在上安装调试代理软件翻开.Carbiepluginscom.nokia.Carbie.trk.support_9, trks60 目录,可以看到有一个 s60_3_1_app_trk_2_7.sisx 文件,该文件就是调试代理ebug agent的安装程序,下面我们经过 USB 接口或红外、蓝牙将这个程序下载到 上安装。步骤如下:将电脑和设备经过USB接口连接。在识别出U

30、SB连接线后,设置,让它从PC上接受文件。选择USBMoeFileTransfer,然后按OK键,这时有通知消息出现:将处离线状态。OK 软件键确认该消息。SISX MMC 卡。用“平安删除硬件的方式断开和PC 之间的USB连接。在上,用文件管理器安装SISX文件。在安装好调试软件后,现在就可以开始调试程序了。PC和的通信接口有两种:蓝牙和USB,由于大多数的PC机中只有USB接口,下我们就以USB连接方式来调试程序。USB连接软件,例如,S60NokiaPC 套件。用USB线连接Pc 和。S60PCUSB连接模式。下载APPTRK或SystemTRKSISX 文件到上如果在已经下载安装过该调

31、试代理这一步可省略在PC 上,翻开设备管理,找到S60USB的条目,如下列图所示:记下端口号在我们的例子中为COM5,后面我们要用到。在的USB模式列表上选择PC套件模式。然后在上启动AppTRK,将连接方式设置为USB,如下列图所示:选择“back,然后重新启动 App TRK。Carbie 集成开发环境上IE如下列图:调试按钮,选择“ebug,Symbian OSApp TRK,双击此项,launch Configuration如下列图所示: portcom5必需是我们前面在设备管理器中所记录下来的值。另外,在Installation 面板中,需要指明要安装的文件,这个文件就是我们在前面生成的经过签名的 文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论