设计基于SymbianOS的通信软件.doc
《设计基于SymbianOS的通信软件.doc》由会员分享,可在线阅读,更多相关《设计基于SymbianOS的通信软件.doc(51页珍藏版)》请在沃文网上搜索。
1、摘要摘要随着IC技术的发展,手机的存储空间越来越大,可供手机使用的软件也越来越多,手机的功能越来越丰富,拥有了很多电子设备的功能。如:数码相机,数字多媒体播放器、邮件终端、甚至电子支付卡。智能化、业务综合化将是手机发展的必然趋势。本论文主要阐述个人在设计基于Symbian OS的通信软件过程中的理念;同时,阐述了个人对于Symbian OS系统架构的了解以及对于Symbian OS系统提供的各种通信方式的了解。论文同时说明个人设计基于Symbian OS的通信控制软件的总体架构、具体实现软件分解后的各个模块的实现方法和作用。【关键词】:Symbian 操作系统,体系结构,蓝牙模块,Wi-Fi模
2、块,文件传输机制IABSTRACTAs the IC technology, mobile phones more and more storage space for your mobile phone software more and more cell phones will have more, with a lot of electronic devices.Such as: digital cameras, digital multimedia player, e-mail terminal, or electronic payment cards.Intelligence, b
3、usiness integration will be the development trend of mobile phones.Described in this thesis in the design of personal communications software based on Symbian OS to the idea of the process; the same time, set a personal framework for understanding the system Symbian OS and Symbian OS system provides
4、 for various means of communication, understanding.Paper also indicate that the individual design is based on Symbian OS to the general framework of communication control software, specifically for software decomposition methods to achieve the various modules and functions.Key Words: Symbian OS,arch
5、itecture,Bluetooth module,Wi-Fimodule,file transfermechanism目录目录摘要IABSTRACTII第1章 引言11.1 课题背景11.2 研究意义1第2章 总体需求与设计32.1 软件设计过程32.2软件功能描述32.2.1 功能模块划分分析4第3章 开发工具分析63.1 开发工具选择63.2 应用软件开发基本步骤7第4章 File browser 模块104.1 File browser模块实现104.2 活动对象简要介绍11第5章 数据通信模块实现145.1 控制端部分模块的实现145.2受控端部分模块的实现195.3 蓝牙模块设计2
6、15.3.1 蓝牙模块设计分析225.3.2蓝牙服务的发布235.3.3 蓝牙设备的搜寻245.3.4蓝牙服务的搜寻245.3.5蓝牙套接字通信255.4 蓝牙协议简介255.4.1 蓝牙协议栈体系结构255.4.2 蓝牙传输网络265.5 Wi-Fi模块设计27第6章 用户界面(UI)模块设计30第7章 背景知识补充总结337.1 常见手机操作系统337.2 各手机操作系统简介337.2.1 Windows Mobile操作系统337.2.2 Linux及基于Linux内核的Android手机操作系统337.2.3 iPhone MacOS 手机操作系统337.3 Symbian OS手机操
7、作系统简介347.3.1 Symbian 操作系统简述347.3.2 Symbian OS series 简述34结束语36参考文献37致谢38附录 Symbian OS C+语言规范39Symbian程序编程规范和数据类型39描述符规范40外文资料原文42翻译45IV第1章 引言第1章 引言1.1 课题背景随着移动通信技术的快速发展,人类已经进入一个信息化的社会,嵌入式操作系统以及嵌入式CPU技术的快速发展使智能手机成为其主要应用之一。人类通信进入一个高速发展的时期。同时,随着硬件的快速发展,智能手机愈加在社会上普及。随着3G标准和Wi-Fi以及更多其它通信方式在中国的推广,国内的手机用户有
8、了更多的通信方式可以选择。同时,用户对手机的要求已经不再局限于通话、短信等基本功能,已经扩展到更高层次:如拍照、影音、文件共享等。同时,随着SNS在全球的广受欢迎,社交功能也得到了重视,利用手机实现一定范围内的短距通信可以方便这种功能的实现。手机硬件标准越来越高,手机游戏成为可能;手机游戏越来越高级,实现手机之间互联可以方便不同用户完成手机游戏之间的沟通,使得游戏更具趣味性。手机软件开发过程中,搭建好开发环境后,由于现在智能手机搭载的手机操作系统提供了大量使用的API使得开发过程大大简化,也使得开发出的软件具有更好的性能。1.2 研究意义近些年来智能手机在应用上不断完善,提高了对多媒体、照相、
9、绘图、GPS等功能的支持。而技术的进步和工艺的完善又使得手机价格降低,从而使智能手机由高端的小众市场,逐渐地转向了大众,吸引了更多关注的目光。智能手机的操作系统对智能手机的发展起着至关重要的作用,因此,对智能手机操作系统的研究意义重大。常见的智能手机操作系统有:Symbian、Linux、Windows Mobile等。强大的市场占有率使得Symbian成为应用范围最大的智能手机操作系统。Series60(简称S60)是智能手机中使用最广泛的用户平台,因此,对基于Symbian OS的S60平台软件开发就显得更加具有重要意义。而手机通信技术的蓬勃发展,也使得各种各样的通信协议层出不穷,同时,各
10、种手机通信方式不断应用于手机,所以开发一个基于Symbian OS系统的通信控制软件可以方便使用者使用智能手机,为其提供方便。1第2章 总体需求与设计第2章 总体需求与设计随着各种通信方式不断应用于手机,使得人们在使用手机时候有多种方式可以选择,本软件的设计思想就是一个基于广受欢迎的Symbian操作系统的集成多种手机通信的控制软件,不光能方便人们使用各种通信方式,同时,利用该软件自带的功能也能简化用户选择需要传输的文件的过程。本章通过分析总体需求和设计目标,提出了总体设计方案,根据系统的功能将系统划分为不同模块。本章描述完设计方案后,对各部分的设计进行了详细地介绍,并且在各章分别介绍各个不同
11、模块。2.1 软件设计过程整个软件的设计思路如图2-1所示: 图2-12.2软件功能描述本软件论文的目标是介绍借助于手机已经嵌入于手机的Bluetooth或者Wi-Fi等的通信方式实现一个实现方便处理手机间的文件或信息传输的应用软件,以增强手机的应用功能以便实现两个或者多个手机间通过Bluetooth或者Wi-Fi等通信方式进行通信,同时能进行手机之间的文件传输。可以将功能分解为:1.目录显示和文件查找功能:实现手机通信方式连接前的file browser功能,即在手机连接前,用户能浏览可通过软件实现对手机本身内存或存储卡上文件的目录;提供被传输的文件的查找操作提示,指定传输的文件;2.通信方
12、式集成功能:开启软件后,提供集成的不同通信方式以便用户选择使用选择通信模式;为用户指定通信方式提供操作界面;3.控制功能:负责将文件打开,提取文件字符串,并按照一定的帧格式组帧,然后发送;4.传输过程中对于传输进度进行显示,使得过程一目了然,在用户界面上更友好更方便。软件功能流程如图2-2所示:图2-22.2.1 功能模块划分分析根据软件的需求,可以将本软件的功能模块分为以后几部分,如图2-3所示:1.File browser模块。用以实现通信前传输文件的选择;2.通信模块:分为蓝牙引擎模块和Wi-Fi引擎模块;主要功能为实现数据的收发接送;4.用户界面即UI模块。用以实现软件的UI的模块;图
13、2-3此软件不光是为了实现控制各个通信方式的使用,更重要的是,开发过程中,各个软件的模块是以引擎的方式架构的,也就是说,软件的各个模块可以在将来直接扩展其他功能。第3章 开发工具分析3.1 开发工具选择工欲善其事必先利其器,在做好软件设计的总体架构后,需要部署开发软件的开发平台环境以及了解基于Symbian OS的手机应用软件开发的基本步骤。现在流行的多种手机操作系统中,支持的编程语言各种各样,开发环境也各不相同,如:WindowsMobile的C#+VisualStudio,Android的Java+Eclipse组合,iPhone的Object-C +MacOS+XCode组合等。由于开发
14、Symbian OS的应用程序使用的是Symbian C+语言,而Symbian C+采用C+标准,所以可选择的开发环境很多,例如:微软的Visual C+ 6.0、Borland C+ BuilderX Mobile Edition 还有Metrowerks CodeWarrior。但是微软的Visual C+ 6.0 缺乏人性化的设计,VS.NET不能很好地支持Symbian OS/C+的开发,Borland C+ BuilderX Mobile Edition还有Metrowerks CodeWarrior也并非主流工具。幸运的是不久前Nokia推出了Carbide.vs,使得开发Sym
15、bian OS/C+的应用程序变得非常方便与简单。Carbide.vs并不是一个类似 VS.NET或Codewarrior 一样的IDE开发环境,Carbide.vs是一个插件,一个能够处理Symbian OS SDK命令行并改善VS.NET编写的Symbian OS C+ 应用程序代码的一个插件,同时Carbide.vs也很好地集成到了VS.NET的IDE开发环境中,有了Carbide.vs使得编写起Symbian os c+应用程序将会变得更容易、更方便、更快捷。 出于方便性,开发本软件过程中,个人选择了VisualStudio.Net2003+Carbide.vs的组合,开发过程中Vis
16、ualStudio.Net2003+Carbide.vs显示出强大功能,使得开发过程更便捷快速。接下来就介绍具体步骤:安装Microsoft Visual Studio.Net 2003 :这个是必备的IDE,我们将会使用VC+.NET 2003进行Symbian os c+的开发,所以VC+.NET是必装项目;Java JRE:Carbide.vs和Symbian os 的SDK都要求要Java JRE的运行环境 ,不然无法安装,请到 下载最新版本的JRE;ActivePer:必备的软件 for Windows(X86);47第3章 开发工具分析Symbian OS Series 60 SD
17、K:这个是最重要的,SDK自带了Symbian 的手机模拟器与编译连接环境,至于选择哪个版本的SDK要具体看开发的手机机型 (如果不清楚要选择哪个SDK的话,请到 查看机型对应的SDK并进行下载)。我开发的软件是面向 Series 60 第三版的SDK;Carbide.vs:此次开发Symbian OS软件必备的插件,可在 选择Carbide.vs下载;6.安装诺基亚PC套件。PC套件指的是由NOKIA公司开发的手机和计算机相连的一套驱动程序。用于Symbian手机和电脑之间进行信息传输。数据线的电脑端接口为USB接口,手机端接口视手机型号而定。下载地址: 3.2 应用软件开发基本步骤在使用V
18、isual StudioNet 2003开发环境建立Symbian项目后,开发环境将提供应用程序框架。应用程序框架由一套核心类组成。主要包括:(1)应用类(Application):该类用于定义应用程序的属性,还用于生成新的空白文档,以及传递应用程序的UID(Unique Identifier)信息;(2)文档类(Document):该类表示应用程序的数据模式,负责保存和恢复应用程序的数据,以及创建应用程序的用户UI接口;(3)应用接口类(AppUi):该类是应用程序的用户接口类,它创建多个应用程序视图,并且处理程序和用户的信息交互,比如处理应用程序的菜单和键盘事件,分别在HandleComm
19、andL()和HandleKeyEventL0i函数中实现对应事件的处理;(4)视图类(View)和控件容器类(Container):它们提供应用程序操作界面。其中,视图类提供对视图菜单及键盘事件的处理,控件类包含界面控件。Symbian使用MVC(ModelViewController)架构来搭建控件,这种模式的特点是在AppUi类与Container类之间增加一个AppView的类,即一个AppUi对象,多个AppView和Container对象。这里,AppView对应控制器,Container对应视图,AppUi对应于Model。应用程序框架初始化时,需要以下步骤:(1)执行框架入口函
20、数E32Main0;(2)创建应用程序实例。框架调用NewApplication0,创建应用程序类的一个实例,并返回它的指针,以后框架使用该指针完成应用程序的创建。这里在堆上创建应用程序实例时,使用的是new方法而不是new(ELeave)方法,这是因为TRAP harness(陷阱捕捉)这时还没有创立。如果系统不能为新的实例分配内存,那返回的指针就是NULL,应用程序框架能够检查到并处理这个问题;(3)返回UID。由框架调用AppDllUid()i函数返回应用程序的UID。该函数必须返回在幸mmp文件中指定的UID值,该值可用于确定应用程序的实例是否正在运行。如果一个应用程序正在运行,而要启
21、动这个程序的另一个实例,这时当前实例将被切换到前台,而不是重新启动另一个实例;(4)创建文档实例。框架通过调用CreateDocumentL()函数,获取指向新创建的Document类实例的指针。通过文档实例指针,框架就可以调用文档实例的某些功能,同时文档实例也通过调用自身两阶段构造函数来创建自己:(5)是否装入文件。框架重新调用AppDllUid0来观察是否要从文件系统中装入一个文件:(6)创建接口类实例。框架通过调用文档对象的CreateAppUiL0方法生成了一个AppUi实例,并获取指向它的指针。此处AppUi实例创建自身时使用的是C+的默认构造函数并返回实例的指针,之后框架通过这个指
22、针调用AppUi实例的ConstructL()函数来完成构造。而在这个ConstructL()函数中首先调用的是AppUi基类的BaseContructL()函数,处理了读入与该程序相关的资源的事宜;(7)创建视图类实例。接口类的ConstructL()函数将通过new(ELeave)方法创建视图类,初始化视图类时,将使用清理栈,防止内存泄露。如果不止一个视图,则需要调用AddViewL()函数将新建的视图类实例加载进来,并通过SetDefaultViewL0函数设置缺省的默认视图;(8)重绘视图类。通过以上的创建过程,框架已经拥有了View的无限调度权利。程序启动、应用程序获得焦点以及选项菜
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 设计 基于 SymbianOS 通信 软件