Symbian开发入门

Symbian开发流程与实战详解 本文还有配套的精品资源,点击获取 简介:Symbian操作系统曾是智能手机市场的主流,本资料详细讲解了Symbian开发的基础知识,包括环境搭建、开发语言选择、签名与权限配置,以及完整的开发流程。适合初学者通过实战学习如何开发适用于Symbian系统的应用,涵盖从设计、编码到测试和发布的各个步骤。 1. Symbian环境配置指南 在探索移动开发世界中,Sy... 阅读详情

(本文发表于《CSDN社区电子杂志——移动开发杂志》创刊号)

   摘要:
Symbian OS是目前市场占有率最高的移动设备OS。本文是Symbian开发的入门性文章,从零开始介绍了进行Symbian开发首先需要了解的一些东西,同时介绍了一些好的开发资源。阅读本文几乎不需要相关的基础知识。

1.      Symbian简介

1.1       Symbian起源

Symbian 成立于1998 6 月,是由爱立信、Matsushita(松下)、摩托罗拉、诺基亚、Psion、西门子和索尼爱立信共同持股的独立私营公司。Symbian 在移动计算设备和手机软件技术开发领域拥有近二十年的丰富经验,是一家由各主要无线通信技术公司持股的软件许可证授权公司,为支持数据分组传输的手机提供高级、开放式、标准化的操作系统— Symbian OS™。

1.2       Symbian发展和现状

您可以前往这里查看Symbian发展史大事记

目前,全球主流手机操作系统主要有四种:

Symbian OS    

Windows Mobile

Palm OS            

Linux OS

Symbian OS一支独秀,市场占有率达到了70%,而微软的windows mobile和其他操作系统一共只有30%的份额。

截至目前,以发布的采用Symbian OS的手机有: 

Nokia 7610 Siemens SX1 等等,您可以在这里找到完整的列表。那里还包括了正在开发中的基于Symbian OS的手机列表。

此外,您还可以在这里找到Symbian的合作伙伴列表

1.3       更多信息

需要从整体上了解Symbian系统,最为权威和准确的描述,莫过于Symbian的官方文档了。请参见"Symbian介绍" 得益于 中文Symbian” 的成果,这是一篇中文文档。

2.      Symbian开发

2.1 Symbian SDK简介

Symbian OS开发应用程序的第一步就是获得一个SDKSymbian OS SDKs支持基于JavaC++的开发。
这些SDK提供:

1、便于构建和开发Symbian OS应用程序的一组二进制文件和工具。
2
、所有API和工具的系统文档。
3
、基于PCSymbian 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 netPadSymbian不再支持这些遗留SDK了。

对于一个软件开发者来说,在你为一个特定的手机开发应用程序时,首先需要了解的就是与它相关的UI Platform。然后,你需要了解这个手机所使用的Symbian OS的版本。有了这两方面的信息,你就可以决定自己需要那个SDK了。

在大多数情况下,依靠这个SDK,你就可以开发一个单一版本的应用程序,然后能够在所有的基于相同的UI PlatformSymbian 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++BCBIDE下开发程序。本文会先讲解如何通过命令行一步步的构建我们的第一个程序,然后还会简单介绍结合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.2 搭建开发环境

Ø         安装VC++.NET 2003。需要指出的是,我们需要VC++的编译器来编译代码,但是其IDE却是可选的。我们也可以从命令行来编译我们的代码。

Ø         安装JDKJRE

Ø         安装ACTIVEPERL

Ø         安装SERIES 60 SDK 2ND

Ø         设定环境变量。这恐怕是新手们最头疼的问题之一。网上对这个问题的解答,也可谓五花八门。所以最好的方法就是参考别人的意见,然后动手实践。以下内容均基于我的实践。有不同意见,欢迎讨论。

首先我想说,这一步完全是多余的,根本不需要。您甚至不需要严格的按照上面列出顺序来安装各种工具。不过我还是希望您可以耐心的把这段话看完,呵呵。

然后我想说,请使用VC++.NET带的“命令提示”工具来进行以下的实验。而不是使用Windows“附件”菜单中的那个“命令提示”工具。

原因如下:这里问题的关键是让各种工具可以在命令行上可见,这样我们就可以利用它们来编译我们的代码。而VC++.NET带的“命令提示”工具与Windows“附件”菜单中的那个“命令提示”工具的区别之一就是其PATH变量的值不同。前者的PATH变量包括:

1、安装VC++.NET过程中,添加的一些路径,包括主要的编译链接等工具。

2、系统环境下PATH变量的内容(通常可以这样设置:右击我的电脑—>属性—>高级—>环境变量—>系统变量。安装JDKACTIVEPERLSERIES 60 SDK后,各种相应工具的路径也会添加到这里)。

而后者的PATH变量只包括2中的内容。

所以,如果不使用VC++.NET带的“命令提示”工具,您就会因为找不到相应编译工具,而无法继续下去。如果自己勤快一些,可以手动把1中的内容加到系统PATH中去,呵呵。这样就可以用Windows“附件”菜单中的那个“命令提示”工具了。

下面介绍一下我机器上的实验环境:

Ø         VS.NET 2003(具体路径一大堆,故省略)

Ø         Perl 5.8.6D:/Perl/bin

Ø         JDK 1.5 (D:/Program Files/Java/jdk1.5.0_01/bin)

Ø         SERIES 60 SDK 2ND (D:/Symbian)

2.3 Series 60 平台介绍

Series 60平台基于Symbian OS 技术构造,包括用户界面、各种应用程序以及各种开发工具。Series 60的用户界面(UI)针对方便单手使用的目的进行了精心的设计。

从用户的角度来看,最为重要的特性也许正是它的UI。它的UI包括一个大屏彩显(176 x 208 pixel, 256 color display)以及各种输入按键(两个软键,五路导航键five-way navigation,收/发键等等,见图1)。Series 60平台包括一些常用的应用程序,比如个人信息管理(PIM)程序(比如,电话簿、日历、相册等),电子邮件程序,浏览程序,消息收发程序等等。Series 60平台还有一个安装引擎,通过它用户就可以安装或删除应用程序,既可以通过PC连接也可以通过“空中(OTA)”服务来完成。

1  Series 60 Platform UI

 

 

 

 


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节的步骤12

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 2003IDE中打开helloworld项目。然后就可以按照构建、运行、调试其它项目的方法来处理该项目了。比如:输入HELLOWORLD.sln,然后用Ctrl+Shift+B生成,再用Ctrl+F5直接运行(不调试),效果与图2一样。您会注意到,模拟器出现的很快。那是因为该项目是个简单的控制台程序,无须载入各种GUI库即可运行。

2.4.3 发生了什么?

上面只是按部就班的讲述了如何构建一个简单的程序,之所以没有涉及细节,是为了使您可以快速的体验一下开发过程(不包括调试,生成最终的发布版,载入实际目标设备运行等步骤)。下面就具体的介绍一下Symbian OS构建过程。

目前,构建Symbian 程序的两条主要的工具链为:

基于Metowerks CodeWarrior 编译器的工具链。

基于Microsoft Visual C++编译器的工具链。

您可以根据自己的意愿或需要来选用合适的工具,并配合相应的IDE来方便开发。但是一般来说不可以混合使用它们。

由于Symbian程序的构建工具以及最终目标的多样性,Symbian项目通常会先以一种通用的格式来描述。然后,可以使用相应的构建工具链来处理这个中立的项目文件,生成特定的项目文件。

刚开始,只有HelloWorld.cppHelloWorld.mmpBld.inf 这三个文件。其中HelloWorld.mmpBld.inf就是两个关键的项目文件。

HelloWorld.mmp项目定义文件,描述了将要构建的项目信息,还定义了一些资源文件和应用程序信息文件。它是一个环境中立的文件,可以使用各种工具来处理并生成各种目标环境的make文件。您可以使用文本编辑器查看该文件。里面的信息还是很简明的,包括构建目标,构建类型,源路径,库文件,头文件等等信息。

Bld.inf组件描述文件,它列出了一个组件当中包括的所有项目,还包括一些额外的构建指令。您也可以使用文本编辑器查看该文件。对于本实例来说,仅包括一个项目HelloWorld.mmp

2.4.3.1 Bldmake命令的作用

当我们运行

bldmake bldfiles

这个命令时,会处理当前目录下的bld.inf文件,具体来说会执行以下处理过程:

1、生成目录

D:/Symbian/8.0a/S60_2nd_FP2/epoc32/BUILD/SYMBIAN/8.0A/S60_2ND_FP2/EXAMPLES/BASICS/HELLOWORLD

2、在这个目录下,生成一系列的Make文件,针对各种目标环境。比如VC7.MAKECW_IDE.MAKE等等。

3、在当前目录下生成abld.bat文件,这个文件会在随后用到。您可以查看该文件的内容。但是建议不要手工的更改它的内容。

Bldmake命令也支持其他的命令行选项,您可以直接输入bldmake来查看简要的介绍,还可以查看SDK文档了解详细信息。

2.4.3.2 abld命令的作用

bldmake处理bld.inf文件得到的abld.bat文件,使得abld命令可用。Abld.bat控制着构建一个项目的方方面面。Abld命令的语法非常地灵活,它拥有许多命令行选项,它们的组合涵盖了各种构建需求。最常用的组合,莫过于abld build abld clean 相关了。

当我们运行

abld build wins udeb

这个命令时,将为wins平台(即通常的VC++环境)生成一个debug版本的程序。

具体来说,在

D:/Symbian/8.0a/S60_2nd_FP2/epoc32/BUILD/SYMBIAN/8.0A/S60_2ND_FP2/EXAMPLES/BASICS/HELLOWORLD/HELLOWORLD/WINS/UDEB

D:/Symbian/8.0a/S60_2nd_FP2/epoc32/release/wins/udeb

下面各生成了一些文件,比如Helloworld.exe文件。

如果只是调用

abld build

那么会为所有可能的平台构建程序。

而运行

abld clean

会删除属于当前组件的,编译过程中生成的所有中间文件和可执行文件,以及由链接器导入的库文件。

您也可以指定只删除某个平台的文件。

具体的abld语法,请查看SDK文档。

2.4.3.3 makmake命令的作用

简而言之,就是处理.mmp文件,生成各种目标平台的make文件。既可以针对命令行来生成,也可以针对IDE来生成。用于命令行的makefile无法用于IDE

所以我们的命令:

makmake helloworld vc7

就为VS.NET 2003 IDE生成了相关的makefile,然后我们就可以通过这些文件借助VS的强大功能了。

更多的makmake语法,请查看SDK文档。

3 开发资源不完全索引

Symbian OS官方网站 不用多说,这是Symbian相关信息的最权威来源。

诺基亚论坛
这是最为活跃的移动开发技术社区。尤其是关于Nokia Series系列的资源非常的丰富。 而且,现在还有 诺基亚论坛简体中文版 这极大的方便了国内的开发者学习相关技术。

SDKs之外的开发工具
除了各种Symbian SDK之外,还有许多有用的工具和SDK插件可供开发者使用。

基于Symbian OS的优秀开源项目
提高自己水平的一个有效途径就是学习或加入一个优秀的开源项目。

专门针对Series 60系列的网站
基于Symbian OSSeries 60平台是目前业界领先的智能电话平台。

UIQ的官方网站 UIQ Technology AB
成立于1999年,是完全归Symbian公司所有的一家子公司。他们面向开发移动设备的UI Platform——UIQ,并授权给那些全球领先的移动设备制造商。

4 小结

正如本文的摘要所述,这是一篇入门的文章。为此,文章舍弃了许多内容。笔者认为那些内容更适合出现在其他主题的文章中。呵呵,希望这篇文章能给您带来一些收获,帮助您顺利的搭上Symbian开发的快车。

欢迎指正,欢迎讨论!

图2 Hello World运行效果图

 

塞班手机端py开发教程 塞班手机端python开发教程(转自多方),需要用到PY平台和ipro7 立即下载

相关推荐

Symbian C++开发经验(针对S60第三版)

Symbian C++开发经验(针对S60第三版) Symbian C++开发经验(针对S60第三版)

Symbian开发入门学习

一、SymbianOS的六大特性 1、操作系统是运行在ROM上的 2、系统是运行在电池驱动的设备上的 3、完全是面向对象的 4、基于组件的设计5、被设计成确保用户的数据不会丢失 6、简单的UI系统 Symbian 是真正的微核操作系统,所谓“微核”,就是说操作系统只有很小的一部分是运行在最高优先级的,其他的功能都是以Client-Server的方式提供。二、Symb

jasonfqw的专栏 1602

Symbian S60智能手机系统介绍

打开文件管理器可以一般可以看到有4个硬盘符号(qd有5个,多的一个显示为rom) C: 手机本身的容量,详细介绍见下文。 D: 缓存盘,不必理会。手机复制的内容,上网的cash等都在这里。除了系统自生成的三个目录,你自建的文件和目录在手机重启动后都会消失。

为什么大家觉得Symbian开发比较难?

本人也搞了两个月的Symbian,从做自己的商业应用来说,基本上已经克服了需要面对的技术难题。 如果你感觉到Symbian比较难,原因有几个方面: 1、Symbian没有像VC一样的高度集成的开发环境,版本太多并且又各有不同。为了搭建一个合适的开发环境,我自己至少安装了100遍以上,时间折腾接近一周。为了进行真机测试,我也买了5部Nokia手机,代价真的好大。 2、个人的C++功力问题,如果你

半支·烟 817

Symbian开发入门(一) symbian简介

随着3G网络的建设,智能手机将更普及。其中的个人发展机会将更大,因此选定Symbian来学习。一下记录了学习的过程和心得。结合网络资料和书籍整合自己的经验> 说起Symbian我们必须提到PSION(宝意昂)公司和它的EPOC操作系统,Symbian正是由它们发展而来的。Psion公司于1980年创立,始人为David Potter.当时的Psion是欧洲领先的技术公司,一直致力于为数

sunandfree的专栏 1020

选择开发移动应用程序的数据库

[转载于yesky]  第一节 引言   也许开发所有的网络和企业应用程序项目必须做的事情就是使用关系数据库管理系统(RDBMS)来有效的处理存储和检索基于表的数据的操作。RDBMS已经成了最流行的数据库管理系统(例如Oracle 9i ,MS SQL Server和IBM DB2),而且也包括以存储过程和触发器的形式在数据库内直接编码应用程序逻辑的能力。像Oracle 9i

1524

Win2000 Server IIS和Tomcat5多站点配置

Win2000 Server IIS和Tomcat5多站点配置    配置要求:IIS(win2000 server 自带)、Java 2 SDK 1.4.2 (或更高版本)、Tomcat Web Server 连接器、Tomcat 5.0.24 (或更高版本)    准备    一、Java 2 SDK 1.4.2 (或更高版本)    1、 www.java.sun.com/downloads...

gdzhljw 191

win2000server IIS和tomcat5多站点配置

配置要求:IIS(win2000 server 自带)、Java 2 SDK 1.4.2 (或更高版本)、Tomcat Web Server 连接器、Tomcat 5.0.24 (或更高版本) 准备 一、Java 2 SDK 1.4.2 (或更高版本)1、 www.java.sun.com/downloads/ 网站中下载,选择2、 Java 2 Platform, Standard...

ajwh64482的博客 105

教你实现同一IP多域名对应多个站点_908

Win2000 Server和NT Server的IIS使用三个参数来决定将哪个网站的数据传送给浏览器:IP地址,主机名和TCP端口。         当我们在浏览器的URL栏输入xxx.vool.cn(举例而已,不是色情网站),浏览器就会查询xxx.vool.cn的IP地址,于是我们的服务器会概述它,你的IP地址,然后浏览器将URL的数据打包,传递到查询到的IP地址的80端口(默认的Web服务

dqizi123的专栏 1419

图解WINDOWS 2000设置虚拟主机

       经常看到UNIX/LINUX环境下APACHE虚拟主机的设置教程、可好像很少看到WIN环境下IIS设置虚拟主机的方法,本文即以WINDOWS 2000下的IIS 5.0为例。以图形化的方式介绍了WINDOWS 2000 server环境下,虚拟主机的设置。(windows2003,NT设置方法跟此大体相同,XP专业版本、2K专业版本不支持设置多个虚拟主机。)STEP 1.右击【我

iLinux 1318

塞班系统开发16本电子书合集(高清PDF)

内容介绍: 塞班系统16本电子书合集,包含塞班系统开发的全方面资料,是你开发的必备资料。

Symbian 开发入门

Symbian 开发入门 Symbian OS简介 第二部分:开发环境入门 第三部分:Symbian应用程序开发简介 第四部分:图形显示

windows2000做虚拟主机的安全设置

Windows 2000 ADS WEB安全配置教程:目前,WIN2000 SERVER是比较流行的服务器操作系统之一,但是要想安全的配置微软的这个操作系统,却不是一件容易的事。本文试图对win2000 SERVER的安全配置进行初步的探讨。一、 定制自己的WIN2000 SERVER;1.版本的选择:WIN2000有各种语言的版本,对于我们来说,可以选择英文版或简体中文版,我强烈建议在语言不成为

民兵的家园 1290

Win2000 Server IIS+Tomcat5多站点配置

配置要求:IIS(win2000 server 自带)、Java 2 SDK 1.4.2 (或更高版本)、Tomcat Web Server 连接器、Tomcat 5.0.24 (或更高版本)    准备    一、Java 2 SDK 1.4.2 (或更高版本)    1、 www.java.sun.com/downloads/ 网站中下载,选择  2、 Java 2 Platform, Sta

Spring 的专栏 634

windows 2000 php,Windows 2000下PHP服务器安装攻略_PHP教程

一、前期准备情况 Apache2(Win32) 完全模块化安装perl,php,ssl1、一个安装好的WIN2000服务器,注意:如果你的机器上已经安装了IIS,将IIS里的所有web站点停掉或端口先改成别的。2、下载软件APACHE 2.0.48Perl 4.3.1PHP 4.3.1MYSQL 4.0.12ZendOptimizer还有几个小东西,很重要,后面的安装会用到(不会全用到,有些文件是...

weixin_39957805的博客 189
下一篇: J2ME开发初探
Simore
博客等级 码龄25年 10粉丝 2原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值