遨游Symbian——手机应用开发入门与实践(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-29 06:27:01

点击下载

作者:张魏编著

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

遨游Symbian——手机应用开发入门与实践

遨游Symbian——手机应用开发入门与实践试读:

前言

欢迎你来到Symbian的世界!

假如你正站在Symbian移动开发的大门口犹豫不前,抑或你怀着满心好奇已将一只脚迈入Symbian的殿堂,抑或你已在Symbian开发之路上蹒跚已久却苦于没有一盏指明前进道路的明灯,抑或你已在Symbian纷繁的世界中张开双翅准备迎接黎明初升的太阳。恭喜你,你正在浏览一本好书!

是的,我很确定,这是一本好书。

首先,作者,也就是我,刚刚从Symbian开发之路上蹒跚而来,跌跌撞撞,伤口未愈。回望来路,有世界尽收眼底、俯瞰苍茫大地之感。原来路可以那么走,曾经跌落的陷阱其实是可以绕过的!

其次,作者,还是我,不是功成名就的专家学者,也不是初入社会想找口饭吃,在职场中摔打的猛士。我“著书立说”的原因只有一个:觉得书可以写得更好;目的也只有一个:读者可以学得更好。

我向来觉得,学习其实是一件很简单的事情:弄清楚事情的来龙去脉、是非因果。过程不外乎两个:从Why到How和从How到Why。

从Why到How大凡比较劳神,先学习长篇理论再进行实践的学习方式往往是事倍功半。比如读完几十页、上百页嵌入式开发概念和Symbian OS基础,带着满头困惑与疑问,大呼“Hello World到底怎么写?”—岂不悲哀?

反过来,从How到Why大凡比较曲折,先知道怎么做,很久以后才知道为什么这么做是一件很痛苦的事情。比如我们先给出一段1 000行的代码,说它可以实现免费打电话(当然这是不可能的)的功能。于是读者拼命背,最后读完全书发现这段代码闭着眼睛也能写出来—岂不崩溃?

问题出在哪里呢?

人的短期学习是一个认知过程。所谓认知过程,是指人对信息进行加工处理的过程,是人由表及里、由现象到本质地反映客观事物特征与内在联系的心理活动。也就是说,人的学习首先停留在感性、浅表的层面,然后才能够深入到理性、核心的层面。这一结论说明,从How到Why的学习方法是符合人的认知规律的。

但是,人的长期学习过程却恰恰相反,它是一个从Why到How的过程。我们每个人都读了很多年书,积累了足够的理论知识,之后才能够投入工作,去生产实践。

所以,我们可以得出一个结论:必须把从Why到How和从How到Why的方法结合起来。前者用于进行知识体系的架构,便于整体的学习;而后者便于认识、掌握局部的知识点。

基于这个重要的学习规律,本书总体知识体系上满足层层递进的从Why到How的架构,而局部则多采用符合人认知规律的从How到Why的讲述方式。当然,这样的讲述方式不是我的专利,其实很多优秀的图书都采用过。

当然,人做的事就没有绝对完美的,本书内容肯定有疏漏或错误,敬请眼光敏锐的你批评斧正。联系邮箱:liuyang@ptpress.com.cn。第一部分起锚——初识Symbian

很高兴你已开始阅读本书。

这一部分从智能手机说起,涉及它的历史、应用领域和发展趋势,进而引入我们的主角—Symbian操作系统(即Symbian OS),简单的介绍之后便详细地讲述如何搭建开发环境,之后用一个简单的“Hello,Symbian!”程序满足你强烈的好奇心。

这一部分的最后一章非常重要,对今后的学习影响深远,建议读者一定不要略过—除非你已精通C++。

还等什么?翻页吧!第1章 智能手机革命

革命—推动事物发生根本变革,引起事物从旧质变为新质的飞跃。1.1 Life on the go

Life on the go意为“不断更新、发展的生活”。是的,从瓦特烧开水进而发明蒸汽机到现在不过200多年,这个世界仿佛一夜之间缩小成一个乒乓球大小。告别了“通信靠吼”的年代,“落地请开手机”已成为必然的规律。人们无时无刻不保持通话,资讯如潮水般涌来。

手机,这个小巧的东西早已不只是打电话的工具,它是人与人相互连接的媒介和桥梁,是人获取资讯、服务的终端。在一个现代人的生活中,手机扮演着极为重要的角色。看新闻、听音乐、玩游戏、炒股票……很多人都离不开这样一个功能丰富而又可以随时揣进口袋的小玩意儿。

从摩托罗拉的“砖头”到现在各式各样数不清的品牌、型号,手机的功能几经扩展,同时集成了各个领域的先进技术。而后又逐渐分化,一专多能,产生了音乐手机、游戏手机、商务手机等符合不同人群需求的机型。甚至有的手机已完全超越了通信工具或信息获取媒介的范畴,成为了彰显身份的奢侈品。图1-1所示为Motorola AURA手机。图1-1 Motorola AURA1.2 何谓智能手机

从x86到AMD 4核处理器,PC的发展极其迅速,计算机也逐渐改变了人们的生活方式,无纸化作为信息技术的成果之一也反过来推动了信息技术的发展—当然,坏的方面是“好好的一笔字被键盘给毁了”。人们对计算机的依赖日益加深,但笔记本电脑依然太重,于是,人们开发出了PDA(Personal Digital Assistant,个人数字助理,俗称“掌上电脑”)。

可是,人的欲望总是无限的,PDA虽好,但无法完成手机通信的功能。自然而然地,智能手机—将 PDA 和手机通信功能结合起来的产物应运而生了(见图 1-2)。当然,智能手机远不止“PDA+手机”这么简单。图1-2 早期的智能手机—多普达515(2003年)

我们无法给智能手机下一个精确的定义,因为它本身就是在不断发展和完善中建立起来的概念。但是区别于传统手机,它至少应该具有以下特点:(1)具备个人信息管理功能;(2)具有基于无线数据通信的浏览器;(3)具有移动操作系统;(4)具有扩展应用程序支持;(5)具备本地设备通信功能。

当然,以上几点只是对智能手机做一个泛泛的解释,并不能概括它的全部,而且随着商业应用和技术的发展,智能手机的功能还会进一步地扩展。不过,通俗地讲,凡是智能手机一定能够安装各种基于其操作系统的应用程序。1.3 为什么使用智能手机

其实这个问题的答案是显然的,好比一台不允许用户安装任何应用软件的计算机等于垃圾一样,智能手机的优势仅这一条就具有绝对的说服力。软件上的可扩展性几乎等价于功能上的拓展。当然,没有摄像头的支持光靠软件无论如何也是拍不了照的,但是,这个问题可以反过来想:拍了照之后能不能进一步地对照片进行处理呢?处理完之后能不能通过E-mail发给朋友们呢?这样,硬件的有限功能就得到了极大的拓展。

而今,运行于智能手机上的软件可谓五花八门:UCWeb是浏览器的代表,腾讯QQ、中国移动飞信等在智能手机上实现了即时通信的功能,Google Map使得在手机上也可以轻松地掌握地理信息,赛门铁克还早早地开发了智能手机杀毒软件(看来病毒们有空必钻啊!),还有数不清的各种小软件,包罗万象,“没有做不到,只有想不到”,比如记账本、手机防盗软件、英语词典、资源管理器等。它们极大地拓展了手机的应用范围,给人们的生活带来了诸多便利。

除此之外,从通信方式上讲,智能手机像传统手机一样,采用无线电信号与基站通信的方式,但提供了更多依靠网络传输数据的功能;从通信制式上讲,智能手机具有对多通信标准的支持,包括 GSM、CDMA、CSD、GPRS、HSCSD、EDGE、UMTS 等;从消息传送的角度讲,智能手机支持SMS、MMS、电子邮件、传真等消息服务;从Web浏览的角度讲,智能手机突破了以往资源有限设备仅支持WAP的弱势,包含了对HTML的支持;从本地设备通信的层面讲,USB、红外线、蓝牙技术可以方便地实现手机同其他数字设备的数据传输;从操作系统的层次讲,能稳健地运行于资源有限设备上、适应有限用户界面、提供强大的库支持和应用程序开发支持的操作系统也早已在智能手机上大展宏图了,并且还在不断地茁壮成长,我们的主角—Symbian OS就是其中之一。知识拓展:无线通信协议

GSM:Global System for Mobile Communication,全球移动通信系统。

CDMA:Code Division Multiple Access,码分多址。

CSD:Circuit Switched Data,电路交换数据。

GPRS:General Packet Radio Service,通用分组无线业务。允许手机用户迅速与网络连接,并获得理想的速率,归为2.5G技术。

HSCSD:CSD 的高速版本,提供与 GPRS 相当的速率。由于其成本过高,没有得到广泛应用。

EDGE:Enhanced Data Rates for GSM Evolution,基于GSM改进的增强型数据传输速率。应用不及GPRS广泛。

UMTS:Universal Mobile Telecommunication System,通用移动通信系统。为3G移动通信的基础,其使用的技术称为WCDMA。

总之,智能手机之好,不仅能从“知识拓展”里的技术术语中理性地推断出,也能够从目前市场上的普及程度和受欢迎程度上感性地体会到,以一句广告语总结:我还是相信群众。资源链接:

有关这一部分的更详细内容,请读者参考下面的书籍:《Symbian OS软件开发—应用C++开发智能手机应用程序入门》

[美]Steve Babin 著.周良忠译.人民邮电出版社.ISBN 7-115-14849-X/TP·5449

·第1章 智能手机与Symbian OS1.4 预见未来

智能手机如何发展?

专家指出,未来智能手机有如下十大发展方向。(1)GPS:Global Positioning System,全球定位系统。(2)开源的操作系统:开源的意义深远,在此不便赘述,据悉,诺基亚收购Symbian后,表示将对其进行开源。资源链接:

读者可以关注http://opensource.nokia.com以获取最新信息。(3)电池寿命。(4)Wi-Fi:Wireless Fidelity,又称IEEE 802.11标准,也就是人们日常用的无线网络。(5)验证接入:目前的应用是允许手机拨打VoIP电话—什么是VoIP?见下面的知识拓展内容。知识拓展

VoIP:Voice over Internet Protocol,俗称“网络电话”。将模拟的声音信号经过压缩与封包之后,以数据封包的形式在IP网络进行语音信号的传输。目前T-Mobile推出的Hotspot@Home 服务就是应用这项技术,当然,它需要Wi-Fi的支持,读者可以参考网站http://www.theonlyphoneyouneed.com。(6)安全:解决目前智能手机面临的若干安全问题,如设备锁定、功能锁定、加密、验证、远程删除数据、防火墙和VPN等。(7)多媒体。(8)应用电子邮件:不仅如此,未来的智能手机还可能在Web 2.0技术上拥有强大支持。(9)摄像头。(10)家庭基站(Femtocell,毫微微蜂窝基站):一种扩展移动通信室内覆盖的解决方案,可以把用户手机发出的话音和数据呼叫传输到基于标准接口的 3G 核心网络,且它的家庭接入点即插即用,可连接到任何现有的基于IP的传送网络。

以上十大发展方向其实还没有“未来”那么遥远,很多技术正在以惊人的速度完善和普及。“未来”的智能手机到底是什么样呢?Nokia 888将揭晓答案(见图1-3)。图1-3 梦想中的Nokia 888

超薄时尚简约的外观设计,可自由折叠弯曲的机身,超大屏幕配上完美的触摸屏,超强的个人信息管理功能,精准的GPS加上极友好的人机交互性能—Nokia 888除了存在于梦里,还能在哪里?不过,从明朝万户的牺牲到今天神舟翱翔太空,人类明白了一个道理:思想有多远,我们就能走多远。Nokia 888也许真的不是梦。第2章 什么是Symbian《孙子兵法》言:“知己知彼,百战不殆”,了解对手方能克敌制胜。“格物致知”是一切的基础。2.1 智能手机操作系统

操作系统工作在用户和硬件之间,其目的在于提供一个可供用户舒适而高效地运行应用程序的环境。也就是说,智能手机操作系统是用户和手机硬件之间的桥梁,它不仅管理着硬件设备资源,更重要的是为运行于其上的各种应用程序提供一个环境。

目前全球主流的智能手机操作系统有 Symbian OS、Research in Motion、Windows Mobile、Linux、Mac OS X、Palm OS等,下面对除了我们的主角Symbian OS之外的系统进行简单的介绍。

1.Research in Motion

知道Research in Motion(RIM)的人可能不多,但提到“黑莓(BlackBerry)”应该如雷贯耳了吧!宽大的屏幕和便于输入的 QWERTY 键盘,塑造了其正统商务机的形象,如图 2-1 所示。其功能上最大的特点在于对电子邮件的强大支持,但多媒体方面可以用“孱弱”二字形容。“黑莓”手机在中国市场的份额很小,原因很简单,中国人并不怎么习惯使用电子邮件进行商务往来,相反,饭桌和茶楼却能促成很多生意。图2-1 BlackBerry 9000

2.Windows Mobile

Windows Mobile(WM)是从微软Windows操作系统逐渐演变而来的,其界面符合大部分PC用户的习惯(见图2-2)。WM系统功能强大,对多媒体、电子邮件等的支持完善。另外,支持WM的智能手机多采用Intel嵌入式处理器,主频较高,性能较好,而且,其他硬件配置(如内存、存储卡容量等)都很高。当然,事物总是平衡的,WM手机的软肋在于能耗大、电池续航时间短、硬件成本高—毕竟钱包鼓的只是少数。图2-2 多普达S1

3.Linux

Linux 的特点在于自由、免费、开源,性能稳定、可靠、安全,具有强大的网络功能。从应用开发的角度看,Linux 的源代码是开放的,有利于独立软件开发商(ISV)开发出硬件利用率高、功能强大的应用软件,也方便行业用户开发自己的安全、可控认证系统。特别是当智能手机(如图2-3所示)大量用作行业应用的移动终端时,Linux在手机操作系统市场中也异军突起,成为一股不容忽视的力量。

4.Mac OS X

Mac OS X的代表手机当然是苹果公司的iPhone,如图2-4所示,其特点不用赘述,“炫”就一个字。据称,其SDK推出之前就有不少Fans开发了应用程序,配上iPhone的触摸屏、重力感应系统和对多媒体的完美支持—乍看起来更像一部游戏机。其缺点除了贵之外,不支持 MMS(俗称“彩信”)应该是最大的“硬伤”,不过苹果公司宣称正在对这个“硬伤”进行修复。

5.Palm OS

Palm OS是Palm公司的一种32位嵌入式操作系统,其最大的特点在于触控式的操作界面,也就是说几乎将所有的控制选项都排列在屏幕上,使用触控笔进行所有的操作,如图2-5所示。Palm OS的理念在于“Less is More(少就是多)”,所以,Palm OS资源(特别是空间资源)的消耗很低,其上的应用程序通常只有几十千比特。不过,这样也削弱了应用程序的功能性,所以这一理念渐渐地被打破了。Palm OS对中文的支持比较弱,这一点也影响了其在中国市场的发展。图2-3 Motorola A1200图2-4 iPhone图2-5 Palm Treo 680

另外,Google Android作为其中的新生力量正在崛起,有兴趣的读者可予以关注。

图2-6所示为2007年和2008年几款主流操作系统的全球市场份额占有率。可见,Symbian占据着绝对的主导地位,其后依次为RIM、WM、Linux、Mac OS X、Palm OS。图2-6 六大主流智能手机操作系统的市场份额(2007~2008年)2.2 Symbian简介2.2.1 追本溯源

下面来讲讲Symbian小时候的故事。

1980年,37岁的David Potter创立了Psion公司。Psion这个名字源于“Potter Scientific Instruments”,即PSI,然而这个名字当时已经被占用了,所以就在PSI后面加上了ON而得名Psion。Potter的第一个成就在于为当时的家用微机ZX Spectrum开发了一款模拟飞行游戏,游戏完全模拟了真实的物理规律。

1984年,Psion公司开发了世界上第一个手持计算器Psion Organiser。1986年更新至第二代,图2-7展示了这个古老而伟大的发明。

1987年,Psion公司开始研发SIBO(Sixteen Bit Organiser),并将其开发的多任务操作系统EPOC应用于PDA上。这个EPOC便是故事主角Symbian OS的前身。关于EPOC名字的来历有很多种说法,一说其源于“epoch”一词,意为a new epoch of personal convenience;另一说是EPOC为“Electronic Piece Of Cheese”的缩写。图2-8所示为一个早期运行EPOC操作系统的PDA。

在之后的十几年中EPOC几经演变,经历了EPOC16、EPOC32、EPOC OS Release 1~5、ER5u几个版本,直到2000年,EPOC长大了,变成了Symbian OS v6.0。2001年,Nokia发布了基于Symbian 6.0的第一部开放式手机Nokia 9210,如图2-9所示。图2-7 Psion Organiser II图2-8 Osaris Oregon Scientific EPOC图2-9 Nokia 9210

稍早一点的1998年6月,Psion公司联合世界手机巨头Nokia、Ericsson、Motorola等建立了Symbian公司。后来Motorola、Psion先后退出,Panasonic、Siemens、Samsung、Sony Ericsson先后入股Symbian。

2008年6月24日,Nokia宣布将全额收购Symbian,同年12月2日,收购完成。从此,Symbian成为Nokia的全资子公司。资源链接:

有关Psion公司、Symbian公司等的进一步内容可在下面的网址及其链接获取:

http://en.wikipedia.org/wiki/Psion2.2.2 Symbian OS

Symbian一词正读为[’si:mbin],中文通常音译为“塞班”。之前讨论全球主流智能手机操作系统各自的特点时故意将其略过,实为欲扬先抑。作为一个手机,体积小、质量轻、屏幕不大、电源供电有限,可人们偏偏给予它那么高的期望—既要能打电话、发短信,还要兼具 PC 的功能,上网冲浪、收发邮件、看电影、听音乐、读新闻、炒股票。时代呼唤一个勤勤恳恳而又高效可靠的手机操作系统,Symbian OS勇敢地站出来了。

1.高效

如前文所述,Symbian OS的前身EPOC从第一代开始就有多任务处理的能力,这大大提高了操作系统的工作效率。Symbian OS中一般采用事件驱动的消息机制实现多任务处理,大大降低了系统开销。

其次,Symbian OS有合理划分的模块结构,并将功能模块作为单独的引擎开发,这样可以极大限度地支持软件重用。第三方应用程序只需访问模块提供的API即可完成所需功能。

另外,Symbian OS有其先进的电源管理思想和手段,电源管理被集成到操作系统内核中,系统中存在一个特殊的空线程,在空闲时会调用电源管理程序使设备进入休眠状态以节省能源。

综合以上3点,Symbian OS可谓“儿不嫌母丑,狗不嫌家穷”,在低功率处理器、有限的存储空间和有限的电池供电下,照样能够高效地运作。

2.可靠

关于Symbian OS的可靠性,读者在今后的学习中会不断地发现自己“深有体会”、“越来越有体会”,这里先打个预防针。Symbian OS的可靠性主要体现在以下3个方面。

第一,客户/服务器(Client/Server)架构使得应用程序不得随意访问系统资源,比如文件读写、屏幕绘制等。需要访问这些资源的程序,须通过特定的API函数向服务器发出申请,由服务器根据实际情况处理其请求。说通俗一点,就好比老婆管钱,老公要用须写申请,批不批视心情而定。这一部分内容被安排在本书靠后的部分,如果读者具有坚实的操作系统知识,不妨率先阅读,对今后的学习也有一定的帮助。不过,也不必勉强地去深入研究,只需明白这种架构对系统资源的集中管理很有好处即可。

注意:此处的“服务器”是“Server”直译而来的,和计算机网络里面所讨论的服务器是完全不同的两个概念,读者要注意加以区分。此处的“服务器”事实上是指拥有系统资源管理权、负责和“客户”通信并协调处理其对系统资源请求的后台程序。

第二,Symbian OS提供了完善的错误处理机制,如果程序捕获错误并进行了相应的处理后,一般能够继续正常运行。即使一个错误导致程序终止,一般情况下也不会影响其他程序和操作系统的运行。

第三,Symbian OS提供了一整套的机制防止出现内存泄漏。这一部分内容会在第5章和6.3节详细讨论。读者从现在起一定要牢记:内存泄漏好比稻草,再轻也能压死骆驼。知识拓展:内存泄漏(Memory Leak)

内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。

要获取进一步的信息,可以访问http://en.wikipedia.org/wiki/Memory_leak。

3.可扩展

可扩展性表现在两个方面。

第一,Symbian OS 是采用 C++语言编写的完全面向对象的操作系统,除仅占整个系统5%的内核外,其他系统组件均作为服务器程序为应用程序提供服务(还记得“老婆管钱,老公申请”的事儿么?对,就是那个)。客户/服务器架构保证了Symbian OS功能上的可扩展性。

第二,Symbian公司允许其许可证持有者在操作系统上开发新的用户接口(User Interface,UI)平台。也就是说,Symbian OS只提供最核心的系统功能,而不同的手机制造商根据其硬件和用户需求设计不同的用户平台,这样既能够使操作系统统一,又能够开发出各具特色、适合不同用户需求的手机系统。常见的UI平台有Series 60、Series 80、UIQ等。读者可以在2.3节中接触到关于UI平台的更多内容。

4.面向无线数据通信

智能手机区别于普通手机的一大特点在于其支持无线数据通信,这样使得访问互联网、收发电子邮件、执行同步操作等功能得以实现。Symbian OS支持多种无线数据通信协议,如红外、蓝牙、GPRS、EDGE和3G等。

另外,值得一提的是,Symbian OS为应用程序访问通信功能提供了统一的编程接口,以避免不同通信网络的差异。这为程序开发人员开发通用通信程序提供了不少便利。

5.开放

首先,Symbian OS对其许可证持有者和合作伙伴开放源代码,当然这对普通程序开发人员没有太大意义。但是,现在对Symbian OS开源的呼声越来越大,特别是Nokia并购Symbian后,不过Symbian OS是否开源及其利弊还有待高层人士进一步权衡。

其次,Symbian OS支持众多开放的标准,如Unicode、POSIX API、TCP/IP、POP3、IMAP4、SMTP、短消息服务(SMS)、红外(IrDA)、蓝牙、OBEX、WAP、i-mode、Java和SyncML等。知识拓展:Symbian OS支持的各种协议和标准

Unicode:一种字符编码标准,它为每种语言中的每个字符设定了统一并且唯一的二进制编码。

POSIX:Portable Operating System Interface for UNIX(UNIX下可移植操作系统接口),是IEEE为要在各种UNIX操作系统上运行的软件,而定义API的一系列互相关联的标准的总称。Linux和Windows NT都或多或少地支持POSIX。

TCP/IP:Transmission Control Protocol/Internet Protocol(传输控制协议/互联网协议),是Internet最基本的协议。

POP3:Post Office Protocol 3(邮局协议第3版),协议规定怎样将PC连接到Internet的邮件服务器和下载电子邮件。POP3允许用户从服务器上下载邮件,并删除服务器上的拷贝。

IMAP4:Internet Message Access Protocol 4(Internet信息访问协议第4版),用于从远程服务器访问电子邮件。用户的电子邮件由服务器负责接收保存,用户可以通过浏览邮件头来决定是否下载此邮件。用户也可以在服务器上创建或更改文件夹或邮箱、删除邮件或检索特定部分。

SMTP:Simple Mail Transfer Protocol(简单邮件传送协议),是一组由源地址到目的地址传送邮件的规则,并由此协议来控制邮件的中转。

OBEX:Object Exchange(对象交换协议),用于控制设备间的二进制对象传输。由红外技术协会定义,并广泛用于蓝牙、SyncML等传输。

WAP:Wireless Application Protocol(无线应用协议),是一种向移动终端提供互联网和先进增值服务的全球统一的开放式标准协议,是简化了的无线 Internet 协议。WAP 支持HTML、XML以及WML、WMLScript。

i-mode:由NTT DoCoMo推出的流行于日本的无线Internet服务,支持比WAP更广泛的Internet标准和业务范围。

SyncML:Synchronization Markup Language(同步标识语言),是一种与平台无关的信息同步标准协议。SyncML基于XML,目的在于同步若干网络、平台及设备之间的远程数据及个人信息。

第三,也是最重要的一点,Symbian OS提供SDK(Software Development Kit,软件开发包)。开发人员使用SDK提供的工具和API(Application Programming Interface,应用程序编程接口)开发自己的应用程序。SDK是Symbian OS开发中必不可少的组成部分。有关SDK的更多内容将在3.1.3节详细讲解。2.2.3 逐渐长大

从EPOC到Symbian OS 9.5,Symbian操作系统经历了版本不断演进的过程,表2-1列出了Symbian OS从6.0版(首个Symbian OS版本,之前为EPOC系列)到最新的9.5版的版本演进过程。表2-1 Symbian OS版本演进

选择Symbian OS的开发版本非常重要,因为开发的软件需要在一定的硬件设备上调试、使用,也可能需要针对特定的设备进行发布,所以版本的选择是Symbian开发的第一步。表2-1中也列出了不同版本对应的主流机型供参考。不过读者现在可以不用关心到底选择哪个版本进行开发,有关这一内容将在第3章进行详细的阐述。2.3 UI平台2.3.1 什么是UI平台

UI,User Interface,即“用户接口”(注:有些资料翻译成“用户界面”,作者认为“用户接口”意思更全面,读者可批判地接受),如前文所述,是手机制造商等为其特定产品(系列)开发的平台。Symbian OS提供系统的核心功能,由UI平台处理设备同用户的交互,包括设备风格(键盘键的数量、屏幕尺寸)、输入方式(触屏或按键)、通信方式、外接设备支持等。在Symbian OS和用户之间加入UI平台,既保持了系统的统一性,又使得在统一的操作系统下开发具有不同硬件环境和功能倾向的手机设备成为了可能。

现有的UI平台有Series 60、Series 80、Series 90和UIQ等,历史上还出现过Quartz和Crystal,后来没有推出商用版本。2.3.2 几种流行的UI平台

1.Series 60

Series 60,简称S60,是目前最为流行、移植手机最多的UI平台,仅Nokia一家,就有不下70款智能手机。S60包含了对电话、PIM(Personal Information Management,个人信息管理)工具和基于Helix的多媒体支持。

S60平台的典型特点是面向单手操作,该平台的手机设备往往带有左右软键(Softkey)用于执行菜单命令,中央一般有方向键(杆)用于控制焦点的移动。不过,S60 的后期版本已不局限于单手操作了,如S60第5版就支持触控。

S60支持的开发语言包括Java MIDP、C++、Python,还可以通过Adobe Flash Lite支持ActionScript。本书使用Symbian C++进行开发。

从2001年诞生S60,到2008年推出第5版,无论从功能还是界面的角度,都有了翻天覆地的变化,使众多开发者不断追逐“新版”潮流,也使众多手机发烧友不断追求更新、更酷、更贵。S60平台版本的演进过程见表2-2。表2-2 S60平台版本的演进过程

从机型和数量上可以看出,S60第3版FP1平台的手机型号和数量最多,而且事实上,流行于市面的手机也以3.1版最多,包括很多经典手机如Nokia N95、6120c、N81等。从技术层面讲,S60第1版和第2版二进制兼容,第2版和第3版互不兼容,但第3版的后续版本向下兼容(见图2-11)。从实际应用的角度讲,S60第2版及之前的手机已濒临淘汰,其中的经典如Nokia 6600无论从外形抑或硬件水平上都难以跟上时代潮流,而第3版不仅界面美观,且硬件水平较高,处理器主频一般高于300MHz(和作者第一台PC的AMD K6-2相当),且支持更为丰富的应用。图2-10 S60第3版界面图2-11 S60平台各版本之间的兼容性

综合以上讨论,本书选择S60第3版FP1作为开发平台。当然,追求时髦或好奇心异常强烈的读者也不妨安装最新平台的SDK爽一爽。关于这部分内容,读者可以在3.1节阅读到详细介绍。

2.Series 80

Series 80,简称S80,其前身为Crystal,由Nokia开发的主要供商务和专业人士使用的UI平台。S80平台带有完整的QWERTY键盘、综合鼠标导航支持、完整的基于Opera的Web浏览器以及SSL/TLS和VPN(虚拟专用网)的支持,另外,在S80平台上可编辑流行的Office文档。

运行S80平台的机型有Nokia 9210(S80 v1.0)、9210i(S80 v1.0)、9290(S80 v1.0)、9300(S80 v2.0)、9300i(S80 v2.0)、9500 (S80 v2.0)。由于S80过于窄小的市场,Nokia并未开发出更多的机型。

3.Series 90

Series 90,简称S90,由Nokia开发的UI平台,至今为止只有Nokia 7710一款手机运行该平台。虽然Nokia终止了对S90的研发,但其技术已被S60所吸纳。

4.UIQ

UIQ(User Interface Quartz),由UIQ公司开发的UI平台。从UIQ 1.x到强弩之末的UIQ 4.x,从2006年Sony Ericsson宣布从Symbian手中购得UIQ,到2009年UIQ宣布倒闭,历经3年。

作者怀着一颗虔诚而哀恸的心向读者介绍UIQ平台,尽管它已被淘汰。

UIQ平台的主要力量集中于3.x版,基于Symbian OS 9.1~9.3,主要为Sony Ericsson和Motorola所有。它的特点在于支持触控,并且有类似于Windows操作系统一样的按钮和菜单栏,这一点和S60的单手设计理念有很大不同。不过S60 第5版也为触控设计,这说明什么问题呢?商业和技术之间存在着互相依存又暗自冷眼的尴尬关系,就像Windows和Linux。

最后,还是放一张图片吧(见图2-12)!愿安息。图2-12 UIQ平台界面2.3.3 S60 3.1版智能手机简介

如表2-2所示,基于S60 3.1版的手机有相当大的数量,作者花了很长时间对它们进行了逐一比较,选出了几款性价比较高的手机,供读者参考,以方便选购。

1.Nokia 6120c

6120c 功能全面、价格较低,适合一般性用途的开发。但它屏幕较小且没有编辑键,不太适合针对商务应用进行开发。其更高端机型为6220c。

6120c的主要参数见表2-3。表2-3 Nokia 6120c的主要参数

2.Nokia N95

S60 3.1版的代表机型,双向滑盖设计,卡尔—蔡司镜头是其一大优势。由于N95在拍摄方面见长,所以有意开发视频、照片处理程序的读者可以选购此机型。缺点在于其价格偏高。N95的主要参数见表2-4。表2-4 Nokia N95的主要参数

3.Nokia E71

S60 3.1版的商务机型,QWERTY全键盘是其最大的特点。强大的电子邮件和Wi-Fi支持是商务开发和网络开发的首选。E71的主要参数见表2-5。表2-5 Nokia E71的主要参数第3章 千里之行,始于足下

路漫漫其修远兮,吾将上下而求索。—屈原《离骚》3.1 造船——搭建开发环境

造一艘好船是出海遨游的先决条件,搭建开发环境就好比造船,它是今后开发是否顺利而舒心的关键之一。作者初学 Symbian 时,包括下载各种需要的安装包、设置参数在内,反复多次,消耗了将近半个月的时间。当然,现在随着Carbide.c++的普及,搭建开发环境已变得非常简单了。

这里有必要对过去Symbian开发环境的搭建进行简单地介绍,以便于读者在融入某个开发团队或跟其他程序员交流时不至于茫然。

Perl环境和JRE(Java SE Runtime Environment,Java SE运行时环境)是必需的,而且要符合版本要求。在安装完SDK后,需要选择IDE(Integrated Development Environment,综合开发环境):Borland C++、CodeWarrier、VC++6.0、.NET 2003等都能够进行Symbian开发。不过,在Visual Studio环境下开发需要Carbide.vs或相关文件的支持。

幸运的是,Symbian开发人员再也不必像以前一样用bldmake命令和abld命令去生成IDE工程文件了,而使用Nokia提供的IDE Carbide.c++可以方便地进行应用程序的开发。而且,Nokia 也已停止了 Carbide.vs 的开发,也就是说,今后诸如.NET 等的 IDE 将逐渐不支持Symbian开发了。

下面深吸一口气,开始打造我们的Symbian之船吧!3.1.1 Perl环境搭建

搭建开发环境的第一步是安装Perl环境,S60 3.1版要求安装ActivePerl 5.6.1版本,读者可以访问“http://www.activestate.com/activeperl/”下载所需的安装文件。当然,其后绕版本的 ActivePerl 也可以使用,只不过某些环境会发生改变,读者可以参考互联网上的资料获取更多信息。

假设已经获得了ActivePerl的安装包,下面开始以ActivePerl 5.10.0为例讲解其安装过程。(1)启动安装程序,将显示如图3-1所示的安装界面。(2)点击Next按钮,直到出现如图3-2所示的“自定义设置”界面,点击Browse按钮可以设置应用程序安装的目录,作者选择D:\Perl\。

注意:最好将ActivePerl、SDK和Carbide.c++安装在同一驱动器内,以避免某些不可预知的错误。图3-1 ActivePerl 5.10.0安装界面首页图3-2 “自定义设置”界面(3)点击 Next 按钮后将出现如图 3-3 所示的“可选参数”对话框,使用默认选项即可。

注意:务必确保第一项Add Perl to the PATH environment variable被勾选,即安装程序将自动把Perl加入环境变量。(4)选择Next→Install命令开始ActivePerl的安装,直到安装结束,如图3-4所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载