基于J2ME技术的手机导游系统的设计与实现---毕业论文 (2)_第1页
基于J2ME技术的手机导游系统的设计与实现---毕业论文 (2)_第2页
基于J2ME技术的手机导游系统的设计与实现---毕业论文 (2)_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业论文基于J2ME技术的手机导游系统的设计与实现Design and Implementation of the J2ME Technology-Based Mobile Phone Tour Guide System姓 名:学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘要手机导游,首先它是通过互联网得到数据并在手机上显示,这就不需要景点投资以前的电子导游所需要的昂贵硬件设备,节省了大量的费用,而且也省去了维护硬件所需要的人力和财力。对于景点来说,手机导游与人工导游相比,能避免由于导游个人因素带来的服务质量的不稳定性,为游客提供更加全面客观的服务。通过自动手机导游器也可大大提高游客对景点的认知程度,并通过他们的传播能加快提高景点的知名度,从而增加游客的流量。同时这也是手机导游系统商业前景所在。许多著名的手机生产厂家都开发了JAVA手机,J2ME是专门用于嵌入式设备的开发JAVA软件,用J2ME实现的手机导游系统,当你到了一个陌生的地方,只要在你的彩屏手机上输入你当前的位置和目的地,你的手机就会传回具体的行动路线以及路线中标志建筑物的实景图像,以及建筑相关资料介绍,如果你满意,它还会告诉你在附近交通、购物、食宿等方面的信息服务。本系统是基于J2ME技术开发一个手机导游系统,可提供景点查询、交通查询、GPS地图显示的功能,运用JAVA语言实现系统的软件编程。同时还阐述了手机地图查询和显示的原理,手机客服端和服务器通过TCP协议传输信息的网络通信过程,以及基于J2ME的手机客服端应用程序客服端应用程序界面的实现和服务器数据库的建立。关键词:JAVA;J2ME;嵌入式开发;手机导游摘要AbstractMobile phone tour guide,first of all is to receive data via the Internet and displayed on the phones, which does not require the investment attraction of the electronic tour guide before the expensive hardware required equipment, the cost savings, but also eliminate the need for hardware maintenance of human and financial resources. For attractions, the mobile phone tour guide compared with the manual to avoid personal factors as a result of tour guides service quality brought about by the uncertainty, to offer tourists a more comprehensive and objective service. Guided tours through the automatic phone device also greatly enhance the attraction of tourists to the awareness of, and through them can speed up the spread to increase the visibility of spots, thereby increasing the flow of tourists. This is also a tour guide at the same time mobile phone system where the business outlook. Many well-known mobile phone manufacturers have developed JAVA phones, J2ME is designed for embedded devices JAVA software development with J2ME mobile phone tour guide system to achieve, when you come to a strange place, as long as the color of your phone, enter your current location and destination, your phone will return a specific course of action and route signs of real images of buildings, as well as information on construction-related, if you are satisfied, it will tell you that traffic in the vicinity, shopping, room and board and other information services. The system is based on J2ME technology to develop a mobile tour guide system that provides query attractions, transportation inquiries, GPS map display functions, the use of JAVA language software systems. At the same time on the phone map query and display the principles of customer service phone client and server TCP protocol to transmit information through the network communication process, as well as mobile phones based on J2ME client application Customer Service Application Program Interface client and server to achieve the establishment of the database.Key words: JAVA; J2ME; Embedded Development; Mobile phone tour guideAbstract目录第一章引言11.1研究背景和选题意义11.1.1背景11.2.1意义11.2导游系统的发展现状21.3研究目标31.4论文结构31.5本章小结3第二章 系统解决方案和相关知识42.1手机软件开发介绍42.1.1手机软件开发平台42.1.2手机硬件平台62.1.3手机操作系统62.2基于J2ME的技术方案72.2.1 JAVA平台技术72.2.2 J2ME82.2.3 J2ME技术方案82.2.4 J2ME总体体系结构92.4 MIDP102.5 CLDC112.7 TCP协议132.6 GPS132.7本章小结13第三章 系统总体设计和关键技术143.1系统开发环境143.1.1软件环境143.1.2硬件环境143.2系统功能需求分析143.2.1功能需求143.2.2非功能需求153.3系统总体设计163.4客服端173.4.1界面设计173.4.2图形用户界面的实现173.5数据通信183.5.1客服端与服务器交换的网络接口183.5.2客服端与服务器之间的通信193.6关键技术203.7本章小结21第四章 系统实施224.1类224.1.1客户端类224.1.2服务器类224.2类功能234.2数据交互流程244.3架构图254.5数据库264.6运行界面截图27第五章 总结与展望34致谢35参考文献36目录ContentsChapter 1 Introduction11.1 Background and Significance of Research Topics11.1.1 Background11.2.1 Significance11.2 Actuality and Development21.3 Research Objectives31.4 Thesis Structure31.5 Summary of This Chapter3 Chapter 2 System solutions and Knowledge42.1 Introduction of The Mobile Phone Software Development42.1.1 Mobile Phone Software Development Platform42.1.2 Mobile Hardware Platform62.1.3 Mobile Phone Operating System62.2 J2ME Technology-based Programs72.2.1 JAVA Platform Technology72.2.2 J2ME82.2.3 J2ME Technology Programme82.2.4 The Overall Architecture of J2ME92.4 MIDP102.5 CLDC112.7 TCP Protocol132.6 GPS132.7 Summary of This Chapter13 Chapter 3 System Designing and Key Technology143.1 System Development Environment143.1.1 Software Environment143.1.2 Hardware Environment143.2 System Functions and Needs Analysis143.2.1 Functional Requirements143.2.2 Non-functional Requirements153.3 System Design163.4 Client173.4.1 Interface Design173.4.2 The Realization of Graphical User Interface173.5 Data Communication183.5.1 Exchange With The Back-end Server Network Interface183.5.2 Data With The Back-end Server Communication193.6 Key Technology203.7 Summary of This Chapter21Chapter 4 System Implementation224.1Class224.1.1 Client Design224.1.2 Server Design224.2 Class Function234.2The Process of Main Line Data Exchang244.3 Silverthorne Atom254.5 Database264.6 Images When Running27Chapter 5 Summary34Acknowledgement35References36Contents基于J2ME技术的手机导游系统的设计与实现 第一章 引言1.1 研究背景和选题意义1.1.1背景我国很多城市有着非常丰富的旅游资源。近年来,旅游业的发展比较迅速,所以开发和利用这些资源发展旅游业有着广阔的前景。而如何利用这一契机,建立完善的旅游信息,加快城市旅游业发展的步伐已成为当务之急。导游系统是指用电子设备来代替导游服务人员对城市的景点,交通进行介绍的系统,它的出现对正在蓬勃发展的旅游业增加了很大的发展动力。近年来随着手机等移动平台的飞速发展,这对导游系统的发展提供了很好的硬件平台,使导游系统出现了很多新的发展趋势。而手机使用方便,容易携带,让导游系统更具实用和市场,手机导游正是在这种必然的条件下产生的。1.2.1意义人类需要的最基本信息包括:时间,地点和内容,而在人们的移动中,最需要的信息就是“位置信息”“手机导游”,特别是出现紧急情况时更需要“确切的位置信息”手机导游系统就可以确定所在位置6。这样为我们的生活提供了不少方便,因此,在移动通信中,用户(手机移动平台)的位置信息和电子网络地图不仅对整个移动通信网络来说是极其重要的,而且对用户来说也非常重要,这要求能为移动用户提供有关的位置服务以及导游服务。在我国的旅游市场,长期以来,游客在景区旅游时,可看的景点多,可了解的资讯却很少,属于低层次的观感旅游阶段。使用手机导游系统,则可以很好的解决以上问题。J2ME,既Java 2 Micro Edition,是SUN公司推出的在移动设备上运行的微型版JAVA平台,常见的移动设备有手机,PDA,电子词典,以及各式各样的信息终端如机顶盒等等。与此同时,各种配套硬件的出现(如GPS、GSM模块等)使得无线互联网应用更多样化,功能更强大。J2ME是在无线通讯设备上开发Web应用的理想平台,允许移动通讯设备通过无线网络访问Internet上的所有信息。同时,对于这个系统的设计与实现有助于在原有JAVA的知识基础上了解和掌握J2ME技术,作为程序本身的开发也具有很强的实用价值。1.2导游系统的发展现状虽然导游系统已经发展了十几年,可电子技术应用于旅游行业还是个新兴事物。目前国内外的导游系统经历了以下几种形式的发展:1. 基于触摸屏的导游系统:这是通过一台触摸屏来实现旅游信息的导游系统,可借助强大的处理器提供全方位的多媒体信息,游客通过触摸屏来查看景点的相关介绍。缺点是投资大,且每台触摸屏导游系统只能供一个游客使用。2. 电子手工/自动导游系统:其形式为游客配备腰包式接收机,当靠近某一景点时,手动触发“收听”键或主动检测发送机并接收语音信息。此方式让游客获得了一定的自主性,但也有区域局限性,且难以做到各取所需。3. GPS导游系统:游客手持带有GPS接收器的移动终端,比如手机、PDA等。系统便能实时判断其当前位置并播放预先存放在终端上的景点介绍。其优势为不必为每个景点安装发送器,只需为每个游客配备一个GPS终端即可,大大降低了系统的成本4。目前,应用于手机的导游软件也有不少,但是大部分都是单机操作,就是程序就在手机存储器上读取数据,而手机的存储又很小,使得软件的功能大打折扣。无线网络的发展使得手机可以通过网络访问后台服务器的数据库,不仅减少手机存储器的压力,同时可以使得数据能及时更新。由于MIDP2.0的出现,JAVA在手机无线网络通信中有着出色的表现,特别是在当前开始试行的3G无线网络中,越来越多的厂商在SUN、摩托罗拉、西门子和爱立信等公司的技术支持下,开始开发基于J2ME平台的无线应用服务。与其他软件开发平台相比,J2ME具有开放、库类和程序资源丰富等优势,由此得到了大多数手机厂商的支持。3G(第三代移动通信)将主要基于宽带CDMA技术,能够提供更大的系统容量和更高的数据传输速率,以支持无线因特网接人和无线多媒体业务,可使语音、数据、多媒体业务实现综合,使个人终端用户能够在全球范围内的任何时间、任何地点、与任何人、用任意方式高质量地实现任何信息的移动通信与传输。随着又有4G网络的出现,4G的定义到目前为止依然有待明确,它的技术参数、国际标准、网络结构、乃至业务内容均未有明确说法。4G是集3G与WLAN于一体,并能够传输高质量视频图像,它的图像传输质量与高清晰度电视不相上下。4G系统能够以100Mbps的速度下载,比目前的拨号上网快2000倍,上传的速度也能达到20Mbps,并能够满足几乎所有用户对于无线服务的要求,JAVA的无线应用会有更好的发展。1.3研究目标使用基于J2ME平台的JAVA语言开发一个手机导游系统,实现一个城市的景点和公交查询功能。通过TCP协议socket连接在本地网络让手机和后台服务器进行数据通信,并自定义移动位置的算法,通过一个区域地图来模拟GPS导游的地图功能。1.4论文结构论文主要分五个章节:第一章为“引言”;第二章介绍基于J2ME技术开发手机导游系统的知识和方案;第三章给出系统的总体设计;第四章介绍开发过程的关键技术;第五章是系统的实施;第六章为结束语。1.5本章小结本章介绍了导游系统出现的背景、使用价值和目前出现在手机平台上的手机导游系统。对目前用J2ME技术开发手机导游的现状和发展进行了简单的阐述,说明了选择这个项目的意义。38第二章 系统解决方案和相关知识2.1手机软件开发介绍2.1.1手机软件开发平台手机软件开发平台作为连接硬件、承载应用的关键平台,扮演着举足轻重的角色。目前市场上的手机开发平台主要有三个:JAVA,BREW和.NET。JAVA:目前在移动领域广泛使用的开发平台是SUN开发的J2ME(Java2 Micro Edition),即用于嵌入式系统的Java。 J2ME技术由一个虚拟机KVM(K Virtual Machine)和一组API组成,这组API适合于为消费和嵌入式电子设备提供经过裁剪的运行环境。KVM虚拟机本身仅仅需要40-80KB内存、20-40KB动态内存(堆)能够运行在16位处理器上。J2ME为移动互联网引入了一种新的模型,即允许手机可以从互联网上下载各种应用程序,并在手机里创造可执行环境,离线运行这些程序。作为Java技术在移动电话等小型设备的版本,它针对屏幕、电能和内存等资源有限的移动设备进行了优化和定义,为了解决无线设备多样化的矛盾,Sun依照各种设备的资源特性将J2ME技术架构分为Java Virtual Machine(JVM)、配置(configuration)和说明(profile)三层,然后再进一步细分,这使J2ME能够在每一类设备的限制下工作,而同时提供最低限度的Java语言功能特性。由于定义了可执行程序下载的标准,并在手机上创立了可执行环境和程序开发语言,由此,在移动通信业第一次为软件开发商创造了巨大的商业机会,手机用户在得到丰富应用体验的同时,也大大提高了运行商的网络流量。但是目前支持J2ME的移动设备处理速度还比较慢,Java服务应用软件相对较少。BREW:美国高通公司的BREW (Binary Runtime Environment for Wireless)平台是一种为无线设备提供开放式标准平台的瘦应用程序执行环境,是无线应用程序开发、设备配置、应用程序发布以及计费和支付的完整端到端解决方案的一部分。完整的BREW解决方案包括面向开发者的BREW SDK(软件开发包)、面向设备制造商的BREW应用程序平台和移植工具以及由运营商控制和管理的BREW分发系统(BDS)。BRE平台是独立于空中接口的技术,所以BREW与任何网络的结合都非常平滑。在CDMA2000 1X网络中可以充分利用其高速的数据传输速率,为最终用户带来极具冲击力的用户体验。到目前为止,中国联通已经有了基于BREW平台所开发的商用程序,如:Adventure(环球历险记)、Any Flash(安凯软件)、City Online(都市在线)、E4ES tock(股票)、HitSu bmarine(决战四大洋)、Instant Weather(天气快报)、Yao Ming Basketball(姚明篮球)等等。缺点BREW目前开发工具还不成熟,主要用C语言来开发。另外,全球有34家运营商采用了Java,而只有8家运营商采用BREW,它的应用范围相对较小。.NET:.NET是Microsoft X ML Web services平台,是一组开发工具和操作系统集,通过智能设备实现个性化的集成Web。它由四部分组成:.NET框架和Visual Studio .NET,服务器结构,构造块服务,智能设备软件。其中智能设备软件支持PC、手提电脑、PDA、手机及其它移动设备等。.NET框架是一个用于生成、部署和运行XML Web服务及其它应用程序的环境。它包含三个主要部分:公共语言运行库、框架类和ASP .NET。.NET框架压缩版是伴侣结构,它有一套编程接口,以供开发人员开发面向智能电话和PDA等移动设备的软件。如Visual Studio .net 2003中新增了对PDA,手机和众多智能设备开发的支持。.NET的缺点:.NET,的核心只工作在Windows环境下,从理论上讲可以支持多种语言开发,但对Java的支持不是很好,同时开发者必须完全面对基于微软的平台,因此它的可移植性差3。2.1.2手机硬件平台手机作为一种资源有限的设备,和PC机相比,其硬件平台具有自己的一些特点:1.处理器运算速度较慢,一般手机中的CPU的速率为26MHz或52MHz,远远低于PC机的CPU运行速度。2.存储器容量小,存取速度慢。3.网络能力有限、带宽窄,并且因为手机的移动,容易导致手机网络地址的变化。4.输入/输出的多样性:手机不可能有PC机标准键盘那么多按键,也没有鼠标。它的显示能力也非常有限,譬如显示尺寸小,分辨率低等。5.手机由电池提供能源,会因为电池耗尽或者接触不良造成经常断电。在编写手机应用程序时,必须对以上几个方面分别进行考虑。目前,手机的硬件平台由多家平台提供商提供,如德州仪器-OMAP系列、英特尔-PCA系列、摩托罗拉-LMX系列、飞利浦半导体-Nexperia移动媒体处理器等等。2.1.3手机操作系统手机操作系统是智能手机的基础软件,现在全球市场上,形成了Symbian, Palm, Linux和Windows Mobile四股势力竞争的局面。目前,大部分手机上的操作系统采用的都是Symbian公司的EPOC实时操作系统。EPOC是最初由Psion Software公司推出的操作系统,专门用于移动计算设备。1998年6月,Psion Software公司和Nokia, Erossion, Motorola三家手机厂商一起组建了Symbian公司,目的是为了下一代的智能电话开发软件、硬件标准,Symbian公司推出的手机操作系统就是改进后的EPOC系统,因为手机行为的实时性要求,所以EPOC是一种实时操作系统。EPOC是一套32位的操作系统,它不但操作接口简洁,而且跟Palm及Windows CE一样,是一个开放的平台,并且专为手机设计,因此在和手机的整合上有先天的优势,任何人都可以在上面编写软件。EPOC的应用软件包括通讯、数据管理、办公软件、工具和游戏等,而且同样可以与PC进行数据同步。该系统的设计还保证能适用于不同的CPU和硬件配置。此举使得基于EPOC的系统能与无线信息设备、便携式计算机和PC等多类产品集成。EPOC提供了对Java虚拟机的支持,所以才得以在手机上使用Java程序。从6.0版本开始,EPOC有了对Unicode的支持,所以比较容易做中文的外挂支持。自成立以来,EPOC为拓展市场版图,积极对外授权,截至目前为止,全球已获得授权的知名通讯及消费性电子厂商包括Psion, Ericsson, Motorola, Nokia, Sun, Panasonic, Matsushita, Philips, Sanyo, Sony, Kenwood及NTT DoCoM。等等,已经占领了手机操作系统的绝大部分市场。Symbian阵营智能手机硬件架构上基本都是基于AMR9处理器,多采用TI的芯片模组。ROM一般都比较小,在处理一些多媒体应用时显得力不从心。IDC预计,到2006年,Symbian新型手机的市场占有率会从目前的46%扩大到53%,微软会增加到27,而Palm可望分得10%的市场占有率。IDC同时估计Linux手机应可攻下多达4.2%的市场。以上各个操作系统都支持JAVA,这正是基于J2ME技术的最大优势。2.2基于J2ME的技术方案2.2.1 JAVA平台技术当JAVA平台发展到JAVA2的版本以后,为了适应不同级别计算机硬件的发展需要,JAVA平台形成了三个主要分支:JAVA2,Standard Edition(J2SE),是为台式机而设计的,主要运行在Linux, Solaris,或Microsoft Windows等操作系统上。JAVA2,Enterprise Edition(J2EE),则是一个适合分布式的、多用户、企业级应用系统运转的平台。它以J2SE为基础,增加了处理服务器计算的功能。JAVA2,Micro Edition(J2ME),和J2SE不同,它既不算是一个软件也不能算是一个规范。准确地说,J2ME是为了支持向PDA,手机等小型的嵌入式或移动设备而推出的一系列的技术和规范的总称。它借用J2SE类库是一部分,使用了更少的API,而且其J2ME采用的JAVA虚拟机(JVM)比J2SE的JVM也要小得多。目前支持MIDP。2.2.2 J2MEJ2ME是用于嵌入式系统的Java,它是SUN公司对标准的Java版本J2ME做了最大程度的精简后得到的一种Java应用程序运行环境,在最简单的情况下它只有几十K,特别适合在手机、PDA等移动设备中使用手机厂商如果在自己的手机中实现了J2ME规范,就可以从网络下载并运行J2ME程序,从而大大扩展了手机的功能。1.J2ME(Java 2 Micro Edition)是近年来随着移动通信设备的飞速发展而产生的一项新的开发技术,它定位于消费类电子产品领域。J2ME平台由Configuration(配置)和Profile(描述)两部分构成。本着“对各种不同的装置而研制出一个单一的开发系统是没有意义的事”这个基本原则,J2ME将所有的嵌入式设备大体上分为两种:一种是运算功能有限、电力供应也有限的嵌入式设备;另一种则是运算能力相对较佳、在电力供应上相对比较充足的嵌入式设备。针对两种不同的设备,设计了不同Configuration,将前者定义为CLDC(Connected Limited Device Configuration,联网的受限设备配置),后者定义为CDC(Connected Device Configuration,面向连接的设备配置)。在不同的Configuration上定义了不同的Profile,目前主要的Profile规格有建立在CLDC之上的MIDP(Mobile Information Device Profile,移动信息设备配置文件)以及建立在CDC之上的Foundation Profile和Personal Profile等。2.J2ME是一种以广泛的消费性产品为目标的高度优化的Java运行时环境,其提供了创建运行在小型计算设备上的企业级Java应用程序的工具可移植性,具有如下优点:客户机应用程序能很容易地被移植到其他遵循J2ME或MIDP并且符合CLDC规范的设备上。更低的网络资源消耗与服务器负载。J2ME客户机应用程序能在断开连接模式下工作并保持数据的同步。3.J2ME使用配置和简表定制Java运行时环境(JRE)。作为一个完整的JRE,J2ME由配置和简表组成,配置决定了使用的JVM,而简表通过添加特定于域的类来定义应用程序1。2.2.3 J2ME技术方案该方案是在客户端采用J2ME技术,以网络的方式,访问后台的地图服务获取空间信息并在手机上显示。与WAP方式使用时一直要处于连线状态不一样,J2ME方式使用时不需要一直处于连线状态,只在需要的时候才与网络连接,因而大大节省了费用。图2-1:运行环境图2.2.4 J2ME总体体系结构J2ME体系的一般结构是:由Configuration定义的Java虚拟机运行于设备的宿主操作系统之上,构成整个平台的基础。Configuration提供了基本的语言特性,Profile提供针对设备的特殊功能API和扩展类库。应用程序的运行环境需要一个Configuration和至少一个Profile,多个Profile可以共存,也可以叠加。图2-2:J2ME总体体系结构图图2-2列出了用于无线应用的J2ME总体体系结构。这一结构可分为五层,从下向上依次为:1.MID硬件层(MID Hardware Layer):主要包括手机或者PDA等移动设备;2.本地系统软件层(Native System Software Layer):包括由设备生产商提供的本地操作系统和系统库;3.KVM层(KVM Layer):为Java应用提供运行时环境;4.CLDC层(CLDC Layer):为无线应用提供核心Java API;5.MIDP层(MIDP Layer):提供了GUI库、持久存储库、网络库和时钟类。2.4 MIDPMIDP(Mobile Information Device Profile,移动信息设备配置文件)建立在 CLDC的基础之上,用来描述手机和寻呼机这样更加具体化的无线移动设备。对于Java ME平台,MIDP定义了一个标准的Java API集合,此集合与联网的受限设备配置CLDC一起提供了一个面向移动信息设备(如移动电话、双向寻呼机和无线个人电脑记事本)的完整Java ME应用程序运行环境。MIDP2.0:JSR-118 中定义了MIDP 2.0标准。MIDP 2.0于2002 年11月正式发布,MIDP 2.0的推出在一定意义上增强了Java ME的功能,主要体现在如下几个方面。1.支持操作图像的像素,支持Alpha通道。2.增强型的图形用户界面类CustomItem,提高了高级界面类的表现力。3.Media音频子系统填补了 MIDP 1.0 不支持声音播放的空白。4.Push注册机制和安全模型增强了对MIDlet的控制。5.游戏开发包提高了游戏开发的效率。6.联网能力增强,可以支持TCP/IP甚至是UDP层的通信。2.5 CLDCCLDC(Connected Limited Device Configuration,联网的受限设备配置)是用来开发在无线设备上运行的应用程序所要用到的一组最小的 API。CLDC 描述了所有无线移动设备所需的一个最小级别的功能集合。对于 Java ME 平台,CLDC 为移动电话、双向寻呼机以及类似设备定义了基本配置(Java 语言、虚拟机功能和基本类库)。这些设备具有以下特性:总内存量为 128 KB 到 512 KB。具有有限电源,如电池。可以连接到网络。具有相对有限的用户界面,通常只限文本。J2ME是一种使用Java语言进行嵌入式设备编程的技术,但是嵌入式设备的种类过于繁多,至少有几百种之多,为了降低编程的复杂度,SUN公司将所有的嵌入式设备分为了两大类:1. CDC(连接设备配置) 有稳定的电源供应 设备性能强劲 例如车载设备、机顶盒等。2. CLDC(连接有限设备配置) 使用电池供电 设备性能有限 其中手机属于CLDC类别。上面的说法都是从硬件划分的角度来说明CLDC的,下面从程序员的角度来理解一下CLDC的概念。其实对于程序员来说,CLDC主要包含三个部分:1. Java虚拟机(又称JVM)这个是所有Java程序运行的基础。对于手机来说,在手机出厂以前,已经固化在手机中了,出厂了以后就不能进行修改了。2. 一套标准的API实现该标准的API主要包含java.io、java.lang、java.util包以及javax.microedition.io包中的部分。这个是规范要求必须实现的API,也固化在手机中,不能修改。3. 本地方法实现在标准的API中,很多都是接口,这些就要求厂商在手机中提供真实的实现,而且很多本地方法也要求手机厂商进行实现。图2-3:CLDC/MIDP架构图J2ME/CLDC/MIDP作为J2ME的一个版本,它是专为无线移动通讯设备说设计的。图2-3是CLDC/MIDP的架构图。2.7 TCP协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。TCP为了保证不发生丢包,就给每个字节一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK); 如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。2.6 GPSGPS全球定位系统(Global Positioning System),美国从上世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。最少需要其中3颗卫星,就能迅速确定您在地球上的位置。所能接收到的卫星数越多,译码出来的位置就越精确。可以通过J2ME的Location API实现GPS的定位。2.7本章小结本章介绍了手机软件开发平台,分析了基于J2ME技术的方案 。第三章 系统总体设计和关键技术3.1系统开发环境3.1.1软件环境1.开发工具:eclipse;Eclipse ME;J2ME Wireless Toolkit;手机模拟器2.开发语言:j2me3.数据库:SQL Server 20004.操作系统:Windows XP5.调试工具:WTK6.性能测试:在服务器与手机上测试3.1.2硬件环境1.CPU: Intel赛扬400或同频率处理器以上2.内存: 256MB或以上3.硬盘: 最少剩余空间不得低于100MB4.文件系统:FAT32或者NTFS(推荐NTFS)3.2系统功能需求分析3.2.1功能需求基本功能:1.显示:显示地图,可通过GPS查看位置;2.查询:可查询商业网点、医疗网点、餐饮网点、住宿网点、旅游景点等;3.移图:选择移动,在地图上游走浏览其他部分信息;4.缩放:转换显示比例,更改显示尺寸;5.路径演算:公交车乘坐路径。未来衍生功能:1.定位及导航功能:将手机的定位功能加入,实现自动定位及导航功能;2.交友功能:充分利用手机的网络功能,可以搜寻一定地理范围内的朋友;3.广告发布:位置广告发布系统以短消息的形式,对一定范围内的手机户进行广告发布。此项服务对讲求广告效益的厂家和商家尤为适用;4.集团管理:可根据企业的申请来创建、删除、修改集团信息,对集团成员的手机号码、成员的名称、所属部门、图像照片等信息进行灵活方便的管理和查询。还为集团内部人员提供短信群发、简单的公文转发等功能;5.营销员管理:集团管理者通过此项功能对外出营销员所处的位置、营销员的动态进行监控,既降低了成本,又实现了对营销员的有效管理;6.目标追踪:目标追踪系统是针对公安部门、检察部门和安全部门而设计的,既可对嫌疑人进行追踪,又可对受保护对象进行追踪;7.特殊人群保护:对老人或儿童等特殊群体,在合法授权范围内,进行适时跟踪,突发事件后及时实施保护。对于被追踪对象的位置信息可通过短信方式定时发送给监护者,让其无后顾之忧。3.2.2非功能需求从功能上讲,应该说本系统只是将PC网络上的成熟应用移植到手机网络,并没有突出的功能。真正要使产品具备竞争力,必须在性能等方面有胜人之处。这方面的要求如下:1.易操作:操作界面结合手机终端的可操作按键保持简单明了,符合普通人的操作习惯。尽量使完成功能所需的按键操作最少;2.稳定:考虑到网络环境可能不稳定,而且用户可能处于各种可能的移动状态,不能让环境因素影响到程序的运行,不能出现死机或一直等待的状态;3.速度流畅:显示快捷,最大限度的减少停滞时间,移图、缩放界面转换快速。这是我们最主要的卖点之一。考虑到地图应用使用的数据都是图形化的,较为复杂,在运算和网络传输上都有不小的挑战,如果在手机上操作很慢,肯定不能为市场接受。相反,如果速度表现突出的话,就可以领先竞争对手;4.系统资源消耗低:合理进行资源分配、回收,有效的利用系统资源,禁止死锁现象发生;5.兼容性:因为手机的类型各种各样,比如尺寸、显示屏解析度、甚至SDK都会有不同,如果我们的应用只能在很少的机种上运行,或者对每种手机都要重新编写应用的话,这样的应用肯定无法在市场上生存。因此我们的系统架构必须考虑到这些因素,使得应用只需要经过配置文件的修改,或者部分模块很少的修改,甚至不做什么修改, 就可以适用于不同的手机。3.3系统总体设计基于J2ME技术方案的JAVA手机地图服务系统重要包括二个部分:JAVA手机移动终端、服务器端。JAVA手机移动终端是手机导游系统的客户端,它运行时,就可以与服务器进行交互,这样手机就可以从服务器获取信息,并出程序决定这些信息在手机屏幕上的显示方式。本系统是通过本地网络实现的,实际中是通过移动通信系统GPRS是JAVA手机和互连网之间的数据通信。整个系统采用Client/Server结构,在服务器端提供地图数据的查询、存储、分析等功能,接收移动用户的请求由Servelet来完成。图3-1:手机导游系统总体设计图3.4客服端3.4.1界面设计为M/Diet所作的用户界面设计取决于小设备的限制,每个MIDlet有且仅有一个Display类的实例,其界面设计与PC等其他终端有很大的不同,尤其是屏幕间的切换导航比较困难。每个在屏幕上显示的MIDlet必须获得它的Display实例的引用,并使用这个实例在屏幕上显示Displayable类的实例。经过分析发现手机屏幕导航有着“先进后出”的特点,而且当前屏幕可有多个子屏选项,屏幕映射表与树型结构非常相似。因此在设计中采用树型结构来实现屏幕导航,主菜单为根结点,每一屏幕为一树结点,选择一个子项切换为下一屏幕,按“返回”重新回到上一屏幕,这实际为一棵双向树结构,如图3-2所示。图3-2:屏幕映射模型3.4.2图形用户界面的实现图形用户界面(Graphics User Interface,GUI)使用图形的方式,借助标准界面元素帮助用户方便地对手机进行操作,并将结果以图形的方式显示给用户。手机属于CLDC规格,而在CLDC中本身并没有包含任何的用户界面包,这些包被定义在MIDP中。在MIDP中,使用javax.microedition.1cdui包来获得界面对象。在javax.microedition.1cdui包里主要的界面对象是由Displayable继承而来的,其中又分为Screen及Canvas两类,而Screen是高级屏幕对象,Canvas是低级屏幕对象。MIDP GUI的核心是Screen(屏幕),而每个MIDP的应用程序(MIDlet)会有惟一的一个Display对象,它管理着屏幕的显示。当调用Display对象的setCurrent()函数时,屏幕就被显示。屏幕只是MIDP规范中定义的一个对象,从开发者的角度来说具体指的就是Displayable对象。3.5数据通信3.5.1客服端与服务器交换的网络接口手机客户端与后台服务器通过多线程的网络通信程序进行数据传输。在J2ME中有javax.micrioedition.io包,在该包中提供了Connection框架,由一组接口构成,包括Connection接口及其子接口。在CLDC中定义了7个接口,其中包括ContentConnection,在MIDP增加了一个HttpConnection接口。Connector类可以用来进行网络等各方面的输入及输出,所用的都是Connector的open()函数。同时用HttpConnection接口建立HTYP连接,实现网络的连接。在J2ME中有2种实现多线程的方法,可以采用实现接口Java.1ang.Runnable的方式,还可以采用继承类Java.1ang.Thread的方式。这里采用后者,Java.1ang.Thread类表示一个线程类,它定义了设置和查询线程属性的函数和启动线程运行的run()函数 。在移动应用中,其编程技术具体的涉及到2个方面,即从服务器端获取数据和向服务器端提交数据。从服务器端获取数据一般有如下步骤:首先给定一个URL地址以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论