Symbian实践培训讲义.ppt
《Symbian实践培训讲义.ppt》由会员分享,可在线阅读,更多相关《Symbian实践培训讲义.ppt(529页珍藏版)》请在三一办公上搜索。
1、1,Symbian OS/C+移动应用开发讲义,何 锐 张锦锋牛建伟N北京航空航天大学计算机学院分布与移动计算实验室,北航分布与移动计算实验室,2,主要内容,Symbian OS 概述(1上)Symbian SDK及其开发环境(1上)Symbian软件开发概述(1上)内存管理(1下)Descriptors(2上)动态数组(2上)活动对象(2下),北航分布与移动计算实验室,3,主要内容(续),简单GUI编程(3上)资源的使用(3上)对话框(3下)视图及控件(3下)中文化(4上)多视图(4上)文件及流操作(4下)MMF入门(5上)总结与考试(5下),北航分布与移动计算实验室,4,Symbian O
2、S 概述,北航分布与移动计算实验室,5,内容,Symbian OS演变历史关键特点其它相关操作系统特点基础概念组件结构,北航分布与移动计算实验室,6,Symbian OS,北航分布与移动计算实验室,7,Symbian OS,针对PDA及智能手机的,能够提供良好的软实时的操作系统与之竞争的有Windows Mobile、PalmOS以及Linux,BrewSymbian OS针对如下特点进行了优化低功耗(电池供电)小型设备长久运行、关键应用Symbian OS解决的问题嵌入式软件移动计算电话其他基于ROM的应用程序,北航分布与移动计算实验室,8,关键特点,主要特点:基于ROM针对电池供电健壮性好
3、抢先式多任务微内核基于组件完全面向对象因此:可靠性好不会丢失用户数据,北航分布与移动计算实验室,9,通用技术,北航分布与移动计算实验室,10,当前的产品(S60平台),Nokia N-Gage,Nokia 6600,Nokia 6630,Nokia 6670,Siemens Sx1,Panasonic X700,Nokia 7650,Nokia 7610,北航分布与移动计算实验室,11,当前的产品(S80和S90),Nokia 92xx communicators,Nokia 9500/9300 communicators,Nokia 7700,Nokia 7710,北航分布与移动计算实验室,
4、12,当前的产品(UIQ),Motolora A1000,P908,P910,北航分布与移动计算实验室,13,北航分布与移动计算实验室,14,竞争者,平台PalmWindows MobileRIM(BlackBerry)Linux移动技术MIDP(J2ME)WAPLinuxSim Toolkit.NET(C#),北航分布与移动计算实验室,15,Windows Mobile,最初是为比较大的设备设计的操作系统优点:配置高,功能强缺点:耗电大,硬件成本高针对不同的设备族Pocket PCSmart Phone封闭的环境MS提倡私有开发标准很多的开发人员易于使用用户界面友好,北航分布与移动计算实验室
5、,16,PalmOS,比SymbianOS还要普及一些尤其是美国市场表现在退步(Pocket PC)目前PalmOS销量不好16/32位操作系统第三方软件多较多的开发人员,北航分布与移动计算实验室,17,Linux,Linux在C/S模式下表现很好为Intel架构的个人电脑设计性能和健壮性优于Windows在服务器端有良好表现比Symbian OS更开放很容易定制可以直接得到RTOS Linux大量专家级的开发者免费使用,北航分布与移动计算实验室,18,GEOS,GEOS是Nokia等公司内部使用的一个中低端手机操作系统,目前没有被广泛使用Nokia准备从GEOS过渡到Symbian平台,北航
6、分布与移动计算实验室,19,Symbian OS发展历史,1984 第一个版本Psion Organizer II8位OS支持汇编语言和OPL(Organizer Programming Language)1991 Psion Series 316位Organizer(SIBO)OS内核为EPOC应用程序和引擎分离X86销售了1.5M SIBO机器,北航分布与移动计算实验室,20,Symbian OS发展历史(续),1994发展称为32位可移植的操作系统1996 成立了“Psion软件”公司1997 第一个发布了Symbian OS版本1998 Symbian公司成立:Ericsson,Mot
7、orola,Nokia,Psion1999 Panasonic公司成为股东销售2M Symbian平台设备,北航分布与移动计算实验室,21,Symbian OS发展历史(续),2000 Symbian OS授权Sony和Sanyo发布了世界上第一款Symbian智能手机,Ericsson R3802001许可证授权Siemens和Fujitsu发布Nokia 92xx第一款Series 60 手机 7650Symbian OS v6.1,北航分布与移动计算实验室,22,Symbian OS发展历史(续),2002Siemens和Sony Ericsson变为新股东许可证授权SamsungSym
8、bian OS v7.0发布Sony Ericsson发布P8002003Symbian OS v7.0s发布Series 90,UIQ设备P908发布Samsung变为股东2003前3季度销售 4M Symbian手机,北航分布与移动计算实验室,23,Symbian OS发展历史(续),2004发展势头迅猛,前景看好Nokia 9500发布LG和 Arima获得许可证Nokia购买了Psion 的股权Symbian OS v8.0发布多个新新设备发布MotorolaPanasonic,北航分布与移动计算实验室,24,Symbian OS授权使用者,北航分布与移动计算实验室,25,Symbia
9、n OS股份分配,北航分布与移动计算实验室,26,基础概念,线程一个线程是执行的单元。同一个进程的线程共享地址空间。调度器(schceduler)负责对线程(而不是进程)进行调度进程内存保护的单元。一个进程不能访问其他进程的内存空间。一个进程有一个或多个线程抢先式多任务线程根据它们的优先级进行调度。优先级高的线程能够抢先优先级低的线程的CPU资源,北航分布与移动计算实验室,27,内存地址空间分配图,北航分布与移动计算实验室,28,基础概念,上下文切换当调度器在不同的线程之间进行切换时,就需要进行上下文切换。将导致内存表、寄存器内容改变根据线程是否属于同一个进程而耗时不同活动对象Symbian
10、OS用来处理异步方法调用的特殊对象使得进行合作的多个线程能够更加有效的利用资源堆/栈线程使用的内存空间堆必须显式的申请和释放栈空间由OS负责管理,北航分布与移动计算实验室,29,基础概念,LeaveSymbian OS的错误处理机制与Trap Harness一起使用与标准C+中的catch/throw机制类似Panic致命错误退出应用程序Panics要么由OS触发,要么由一个出现了严重错误的用户线程触发,如栈溢出,北航分布与移动计算实验室,30,Symbian OS体系结构,Symbian OS,北航分布与移动计算实验室,31,组件构架,北航分布与移动计算实验室,32,应用程序UI,对于用户而
11、言,Symbian OS就是一系列的视图Symbian应用程序UI包括:一个App UI对象,用户处理用户交互命令;由各种图形UI元素(Controls)组成的应用程序视图(View);与设备无关的视图,负责将应用程序数据显示在控件中或打印出来。(可选),北航分布与移动计算实验室,33,例子:Agenda视图,UIQ,S60,S80,S90,北航分布与移动计算实验室,34,App UI由GUI控件构造,GUI系统Uikon Core+Qikon on UIQ,orAvkon on S60,orCkon on S80 and S90,北航分布与移动计算实验室,35,UI例子,TechView,R
12、380s,北航分布与移动计算实验室,36,控件例子,TechView屏幕快照,北航分布与移动计算实验室,37,UI与图形,Qi/Av/Ckon提供了UI参考实现的某些功能标准的EIKON是标准控件的工具集CONE:CONtrol EnvironmentApparc:Application Architecture Component,定义了应用程序结构,北航分布与移动计算实验室,38,GUI由图形库支持,图形基础图形设备接口(GDI)设备无关UI图形打印图形所见即所得字体、缩放、24位色图形组件BITGDI:快速粘贴、缩放、旋转等Window Server共享屏幕键盘与指针保持所有应用程序的轨
13、迹发送重画请求,北航分布与移动计算实验室,39,数据管理,绝大多数的应用程序都具有分离的UI和引擎引擎能够理解程序的核心算法和数据存储而不知道数据的图形显示及UISymbian支持相同的引擎与不同的UI配合使用客户/服务器的应用程序模式使得UI和引擎能够更好地分离,北航分布与移动计算实验室,40,支持库,能够被应用程序直接使用的复杂引擎Rich Text(ETEXT)文件存储工具(STORE)数据库工具(DBMS)音频基本程序框架库(BAFL),北航分布与移动计算实验室,41,Base提供了访问硬件的接口,Symbian Base主要包含了4个部分Symbian Base为其他所有组件提供了基
14、础服务和编程框架,北航分布与移动计算实验室,42,Symbian Base,用户可见的部分User LibraryFile ServerKernel负责管理设备资源:CPU,内存,线程调度Device Drivers负责驱动硬件设备Device Drivers的代码包括两个部分,主要的部分在内核方,API部分在用户方,北航分布与移动计算实验室,43,E32映象,E32是Symbian OS的核心部分Kernel Executive和User Library可以看作是一个函数集合(库);Kernel Executive运行在特权态(privileged processor state)Kerne
15、l server也是处于特权态的线程User Processes是应用程序和系统服务器,北航分布与移动计算实验室,44,通信,通信是Symbian组件联系和消息传递的基础。提供了通信协议中通用的操作接口,如接收数据、发送数据、建立连接、配置网络等。Socket是通信的端点,Symbian提供了类似Berkley socket的socket APISymbian还提供了例如主机名解析、服务解析、协议信息等访问方法可用的协议包括IrDA,PPP,SLIP,GPRS,Bluetooth,TCP/IP以及RS232通常通信是在应用程序引擎层访问的,服务器:C32,ESOCK,ETEL,NETDIAL,
16、北航分布与移动计算实验室,45,移植到新设备,如果将系统应用到同一个系列的其他产品(如同属于S60),几乎不用修改如果移植到不同的系列(S60-UIQ等),则还要修改GUI以及应用程序UI及视图如果新的设备包含了新的硬件,则可能需要修改Base部分,跨系列,Qikon:UIQAvkon:S60Ckon:S80/90,北航分布与移动计算实验室,46,Java,Symbian OS支持MIDP(CLDC1.1,MIDP2.0)及PersonalJava,北航分布与移动计算实验室,47,Java 优缺点,在2006年以前所有智能手机都支持广泛运行在各种手机上一次编写,多处运行性能和功能一直在提高,性
17、能问题依赖虚拟机,北航分布与移动计算实验室,48,Java on Symbian OS,第一个实现,1999,ER5JDK 1.1.4Personal Java,2000,Symbian OS v6.0内存占用少提供了Javaphone APIJ2ME,MIDP1.0,2002,Symbian OS v7.0J2SE功能的一个子集占用内存较少提供了对MIDlet的支持MIDP2.0,Symbian OS V7.0sUI 功能增强安全蓝牙等等.,北航分布与移动计算实验室,49,问题,?,北航分布与移动计算实验室,50,20 minutes break,北航分布与移动计算实验室,51,Symbia
18、n SDK及其开发环境,北航分布与移动计算实验室,52,内容,Symbian SDK简介常用命令主要开发工具获取帮助,北航分布与移动计算实验室,53,开发环境的搭建,安装SDK到Nokia论坛下载最新的Series 60 SDK for Symbian OS到http:/网站下载最新的Active Perl Script 安装程序 到http:/下载最新的J2RE 安装SDK,推荐为Symbian开发单独建一个目录检查环境变量设定EPOCROOT=安装目录(去盘符)在系统PATH中加入 epoc32tools目录以及epoc32gccbin目录就可以了,北航分布与移动计算实验室,54,Symb
19、ian SDK的获得,可以从诺基亚网站下载http:/60 SDKs for Symbian OS我们使用的是 S60 SDK 2.0 for VC,北航分布与移动计算实验室,55,VC平台安装注意事项,Path:C:Program FilesMicrosoft Visual StudioVC98Bin;C:Program FilesMicrosoft Visual StudioCommonMSDev98Bin,北航分布与移动计算实验室,56,软件安装,安装Series 60 SDK for VC6软件,北航分布与移动计算实验室,57,SDK目录结构,北航分布与移动计算实验室,58,epoc3
20、2子目录,北航分布与移动计算实验室,59,SDK工具模拟器,用于运行,调试,测试Symbian程序便于程序调试和错误追踪并不是所有功能都能模拟,如兰牙通信示例:Start|Programs|Symbian 7.0s SDKs|Seriese 60 2.1|Enumlator(Release)C:epoc wins-rel,北航分布与移动计算实验室,60,文件&程序,在Symbian手机中,z:对应ROM,c:对应RAM(8MB),d:对应存储棒在SDK中,c:对应的目录是epoc32winscd:对应于目录是epoc32winsd z:对应的目录是epoc32releasewinsurelz或
21、epoc32releasewinsudebz,北航分布与移动计算实验室,61,磁盘目录,每个磁盘下一般都具有如下标准目录system 包含所有系统文件systemApps 所有应用程序systemAppsappnameappname.appsystemLibs 共享.dlldocuments 用户文件,北航分布与移动计算实验室,62,SDK 帮助系统,北航分布与移动计算实验室,63,其他工具,Bitmap Converter BMCONVResource compiler EPOCRCAIF Builder(.rss-.aif)Menu BuilderMeadApplication Insta
22、ller makesisCS Help Compiler(.hlp)S60 AppWizard,北航分布与移动计算实验室,64,目标二进制,支持的平台WINS(单进程)VC6WINSCWCW_IDEARM4ARMITHUMB,版本udeburel,北航分布与移动计算实验室,65,ABIs,即Application Binary InterfacesSymbian程序针对ARM平台可以按照三个模式build:ARM4,ARMI,THUMB电话制造商指定使用的ABI通常是THUMBARMI代码能够同时与THUMB和ARM4交互,北航分布与移动计算实验室,66,Bldmake&abld工具,使用bl
23、dmake和abld工具根据描述文件bld.inf和.mmp文件将源文件build成指定平台和版本的二进制代码,北航分布与移动计算实验室,67,使用模拟器开发,C是可以被编译成任何指令集二进制文件的独立于平台的语言。,北航分布与移动计算实验室,68,Build工具与IDEs,通常是先用命令行创建和配置项目,然后使用IDE;也可以使用AppWizard我们使用MS Visual Studio 6.0其他的IDE工具包括:Metrowerks的CodeWarriorBorland C+builder(mobile)Eclipse,北航分布与移动计算实验室,69,配置VC,把Symbian7.0Se
24、ries60Series60Tools Application Wizard目录下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷贝到vc6的模板目录VSROOT Common MSDev98 Template 打开VC,就可以在新建工程对话框中看见S60 Symbian开发向导了,北航分布与移动计算实验室,70,配置VC,安装工具条Epoctoolbar将EpocTools.dll 拷贝到CommonMSDev98Addins启动VC6选择 Tools Customize from the menu bar点击 Add-ins and Macro Files tab选
25、中 EPOC Toolbar Add-in点击 Close buttonEPOC 工具条应该出现菜单栏上,北航分布与移动计算实验室,71,使用VC6,也可以直接使用S60 SDK提供的VC6的AppWizard演示创建VC的项目文件(现成例子)bldmake bldfilesabld makefile vc6演示(HelloWorld),北航分布与移动计算实验室,72,使用VC,使用VC Appwizard,北航分布与移动计算实验室,73,使用VC,使用现有的例子进入C:Symbian7.0sSeries60_v20Series60Exhelloworldbasicgroup运行 bldmak
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Symbian 实践 培训 讲义
链接地址:https://www.31ppt.com/p-6521546.html