Symbian开发入门
关键词: Symbian 开发 入门
2.1 Symbian SDK简介
为Symbian OS开发应用程序的第一步就是获得一个SDK。Symbian OS SDKs支持基于Java和C++的开发。
这些SDK提供:
1、便于构建和开发Symbian OS应用程序的一组二进制文件和工具。
2、所有API和工具的系统文档。
3、基于PC的Symbian OS手机模拟器。
4、带支持文档的样例应用程序。
由于Symbian OS本身不包括用户界面等,所以,通常会由一些伙伴厂商为Symbian OS提供特定的UI Platform。因此SDKs都是基于一个特定的UI Platform来构建的。一个UI Platform提供一个独特的UI,还有一系列面向各种任务的相关系统应用程序。这些常见的任务包括:收发消息、浏览、电话功能、多媒体功能和联系方式/日历管理等等。这些应用通常都会使用由Symbian OS提供的一些应用引擎。
从Symbian OS v6.0开始,共有以下各种SDK:
UIQ
Nokia Series 90
Nokia Series 80 (previously “9200 communicator series”)
Nokia Series 60
Nokia Series 40
此前的SDK都是特地于某个设备,比如the Pison netPad。Symbian不再支持这些遗留SDK了。
对于一个软件开发者来说,在你为一个特定的手机开发应用程序时,首先需要了解的就是与它相关的UI Platform。然后,你需要了解这个手机所使用的Symbian OS的版本。有了这两方面的信息,你就可以决定自己需要那个SDK了。
在大多数情况下,依靠这个SDK,你就可以开发一个单一版本的应用程序,然后能够在所有的基于相同的UI Platform和Symbian OS版本的手机上运行。
对于那些基于同一SDK的手机之间可能出现的各种差别,Symbian OS 系统定义文档给出了更进一步的细节信息。您可以自行查阅。
Symbian OS System Definition
Symbian OS System Definition - Detailed View (updated to include v8.0)
我们可以看到SDK主要分为两大类,即Nokia Series系列和UIQ。而Series系列中又以Series 60平台最为流行。需要指出的是,以上只是从开发平台上对SDK进行了划分,划分粒度是非常粗的。每种平台都会对应着一系列具体的开发工具,您需要根据自身情况,做出选择。
本文将以“SERIES 60 2ND EDITION SDK FOR SYMBIAN OS SUPPORTING FEATURE PACK 2 SUPPORTING MICROSOFT VISUAL C++ AND BORLAND C++BUILDERX”这个SDK为基础,通过一个简单的C++示例程序,让您对开发过程有所了解。您可以在这里下载此SDK。由上面这个长的有些恐怖的名字我们可以了解到,这个SDK支持在VC++或BCB的IDE下开发程序。本文会先讲解如何通过命令行一步步的构建我们的第一个程序,然后还会简单介绍结合VC++.NET 2003 IDE的开发。此外,在安装该SDK以前,您需要安装Java Runtime Environment v 1.4.1_02 以及ActivePerl 5.6.1。前者,推荐大家直接安装JDK,而不仅仅安装JRE,这些都可以在http://www.sun.com得到。后者大家可以前往http://www.activestate.com 下载。
对于Java的开发,本文将不做介绍。您如果有兴趣,可以自行参考本文后面的推荐资源。
这些SDK提供: 1、便于构建和开发Symbian OS应用程序的一组二进制文件和工具。
2、所有API和工具的系统文档。
3、基于PC的Symbian OS手机模拟器。
4、带支持文档的样例应用程序。 由于Symbian OS本身不包括用户界面等,所以,通常会由一些伙伴厂商为Symbian OS提供特定的UI Platform。因此SDKs都是基于一个特定的UI Platform来构建的。一个UI Platform提供一个独特的UI,还有一系列面向各种任务的相关系统应用程序。这些常见的任务包括:收发消息、浏览、电话功能、多媒体功能和联系方式/日历管理等等。这些应用通常都会使用由Symbian OS提供的一些应用引擎。 从Symbian OS v6.0开始,共有以下各种SDK: UIQ Nokia Series 90 Nokia Series 80 (previously “9200 communicator series”) Nokia Series 60 Nokia Series 40 此前的SDK都是特地于某个设备,比如the Pison netPad。Symbian不再支持这些遗留SDK了。 对于一个软件开发者来说,在你为一个特定的手机开发应用程序时,首先需要了解的就是与它相关的UI Platform。然后,你需要了解这个手机所使用的Symbian OS的版本。有了这两方面的信息,你就可以决定自己需要那个SDK了。 在大多数情况下,依靠这个SDK,你就可以开发一个单一版本的应用程序,然后能够在所有的基于相同的UI Platform和Symbian OS版本的手机上运行。 对于那些基于同一SDK的手机之间可能出现的各种差别,Symbian OS 系统定义文档给出了更进一步的细节信息。您可以自行查阅。 Symbian OS System Definition Symbian OS System Definition - Detailed View (updated to include v8.0) 我们可以看到SDK主要分为两大类,即Nokia Series系列和UIQ。而Series系列中又以Series 60平台最为流行。需要指出的是,以上只是从开发平台上对SDK进行了划分,划分粒度是非常粗的。每种平台都会对应着一系列具体的开发工具,您需要根据自身情况,做出选择。 本文将以“SERIES 60 2ND EDITION SDK FOR SYMBIAN OS SUPPORTING FEATURE PACK 2 SUPPORTING MICROSOFT VISUAL C++ AND BORLAND C++BUILDERX”这个SDK为基础,通过一个简单的C++示例程序,让您对开发过程有所了解。您可以在这里下载此SDK。由上面这个长的有些恐怖的名字我们可以了解到,这个SDK支持在VC++或BCB的IDE下开发程序。本文会先讲解如何通过命令行一步步的构建我们的第一个程序,然后还会简单介绍结合VC++.NET 2003 IDE的开发。此外,在安装该SDK以前,您需要安装Java Runtime Environment v 1.4.1_02 以及ActivePerl 5.6.1。前者,推荐大家直接安装JDK,而不仅仅安装JRE,这些都可以在http://www.sun.com得到。后者大家可以前往http://www.activestate.com 下载。 对于Java的开发,本文将不做介绍。您如果有兴趣,可以自行参考本文后面的推荐资源。
2.4 从“Hello World”开始 从K&R开始,“Hello World”几乎成了入门必修课。呵呵,我们也顺其自然吧。 我们先将整个流程过一遍,然后再解释每一步都发生了什么。以下涉及到的各种路径都是以笔者的实验环境为依据的,您需要自行替换为自己机器上的路径。 2.4.1 从命令行编译 1、打开VS.NET 2003自带的命令行,进入以下目录: D:\Symbian\8.0a\S60_2nd_FP2\Examples\basics\helloworld 这里有我们即将涉及到的三个文件: HelloWorld.cpp C++源文件 HelloWorld.mmp 项目定义文件 Bld.inf 组件定义文件 2、构建我们的例子,请输入: bldmake bldfiles 这一步会生成一个文件ABLD.BAT。 3、编译和链接,请输入: abld build wins udeb 这一步会生成供Series 60 调试模拟器使用的文件。 4、运行,请在命令行进入: D:\Symbian\8.0a\S60_2nd_FP2\epoc32\release\wins\udeb 这个目录含有刚生成的helloworld.exe文件。然后输入: helloworld 这会调用Series 60的模拟器,并在其中运行helloworld.exe程序。效果如图2所示
2.4.2 与VS IDE配合
1、先重复2.4.1节的步骤1和2
2、请输入以下命令:
abld makefile vc7
这会在目录:
D:\Symbian\8.0a\S60_2nd_FP2\epoc32\BUILD\SYMBIAN\8.0A\S60_2ND_FP2\EXAMPLES\BASICS\HELLOWORLD\HELLOWORLD\WINS
下面生成VS.NET 2003所需的解决方案文件、项目文件等等。
还有一种方法是,输入以下命令:
makmake helloworld vc7
这也会生成VS.NET 2003所需的解决方案文件、项目文件等等,只不过是在当前的目录下。
3、通过上述过程生成的文件,即可在VS.NET 2003的IDE中打开helloworld项目。然后就可以按照构建、运行、调试其它项目的方法来处理该项目了。比如:输入HELLOWORLD.sln,然后用Ctrl+Shift+B生成,再用Ctrl+F5直接运行(不调试),效果与图2一样。您会注意到,模拟器出现的很快。那是因为该项目是个简单的控制台程序,无须载入各种GUI库即可运行。
2.4.3 发生了什么?
上面只是按部就班的讲述了如何构建一个简单的程序,之所以没有涉及细节,是为了使您可以快速的体验一下开发过程(不包括调试,生成最终的发布版,载入实际目标设备运行等步骤)。下面就具体的介绍一下Symbian OS构建过程。
诺基亚论坛这是最为活跃的移动开发技术社区。尤其是关于Nokia Series系列的资源非常的丰富。 而且,现在还有 诺基亚论坛简体中文版这极大的方便了国内的开发者学习相关技术。
SDKs之外的开发工具 除了各种Symbian SDK之外,还有许多有用的工具和SDK插件可供开发者使用。
基于Symbian OS提高自己水平的一个有效途径就是学习或加入一个优秀的开源项目。
专门针对Series 60基于Symbian OS的Series 60平台是目前业界领先的智能电话平台。
UIQ的官方网站成立于1999年,是完全归Symbian公司所有的一家子公司。他们面向开发移动设备的UI Platform——UIQ,并授权给那些全球领先的移动设备制造商。 UIQ Technology AB系列的网站 的优秀开源项目 4 小结 正如本文的摘要所述,这是一篇入门的文章。为此,文章舍弃了许多内容。笔者认为那些内容更适合出现在其他主题的文章中。呵呵,希望这篇文章能给您带来一些收获,帮助您顺利的搭上Symbian开发的快车。 欢迎指正,欢迎讨论!
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |