《英朗翻译官应用软件毕业设计论文.doc》由会员分享,可在线阅读,更多相关《英朗翻译官应用软件毕业设计论文.doc(84页珍藏版)》请在三一办公上搜索。
1、英朗翻译官应用软件摘要:全球化的影响,英语自然而然的普及,经济文化正在趋于一体化,与国际的交流就不可避免的涉及到英语的听说读写。为了给广大用户提供一个更好的英语学习工具,特此制作这款集在线翻译,离线翻译于一体的,并带有朗读功能的翻译软件。该软件界面简洁,操作简单,是一款较人性化的软件! 你会写单词吗?不用担心,我们的翻译官会帮你查到你想要的单词,无论是英语还是汉语,我们都可以帮你查到;你会说英语吗?不用担心,我们的翻译官会说给你听,你可以边听边说;你会读英语吗?不用担心,我们的翻译官会给你提供音标提示,告诉你该怎么读!本软件是采用J2ME作为前台的开发语言,以当前流行的服务提供商提供的开源AP
2、I作为后台,基于C/S模式并采用MVC框架实现开发的。旨在帮助那些需要获取生词信息的各类人群,获取单词的发音,解释,句意,并对获取的单词信息,以友好的界面展示给用户。也可以保存单词信息,便于以后随时查看!关键字:RMS,C/S,KXmlParser,解析XML,J2ME,C/S,MIDP,MVC框架English translation software applicationsAbstract: The impact of globalization, english of course, economic, cultural is to integration with the inter
3、national exchange will inevitably involve english write. in order to give the user provided a better english learning tools, we make this set of online translation and interpretation of line with the reading of the translation software. the interface simple and easy operation, is a more humanized so
4、ftware!You will write the word? dont worry about it. our translation officers will help you find you like your words, either english or chinese, we can help you find ; you speak english? dont worry about it. our translation officers will speak to you, you can listen to the ; can you read english? do
5、nt worry about it. our translation office will provide you with accents, and tell you how to read!This software is used as the development of language j2me to the current popular service providers offer is open source as the api, based on the c s mode and the mvc framework for development. to help t
6、hose who need to obtain information of the word for word, the pronunciation, word, and to obtain the information by his friendly words, the interface displayed to the user. you can save words, look for information after all!The keyword : RMS,C/S,KXmlParser,ResolveXML,J2ME,C/S,MIDP,MVC Framework目 录1
7、绪论12 J2ME技术概览121 J2ME的概念122 J2ME简介122.1 J2ME架构22.2.2 JVM虚拟机32.2.3 MIDP(移动信息设备简表)323J2ME的发展及未来42.3.1 J2ME发展现状42.3.2 J2ME 未来情景发展方向82.3.3 MVC框架924J2ME API简介113 软件设计203.1软件简介203.2 软件的总体结构设计213.3需求分析213.4框架设计213.5详细设计233.5.1 Com.ldci.midlet包中类的伪代码233.5.2 Cmon包中的类描述243.5.2.1 Const类的伪代码243.5.2.2 Text类的伪代码2
8、43.5.2.3 Tools类的伪代码243.5.3 Com.ldci.view包中的类描述243.5.3.1 AboutView类的伪代码243.5.3.2 ExitView类的伪代码253.5.3.3 HelpView类的伪代码253.5.3.4 Logo类的伪代码253.5.3.5 MenuView类的伪代码263.5.3.6 ShowTranslationView类的伪代码263.5.3.7 TranslatorView类的伪代码273.5.3.8 StrangeWordsView类的伪代码273.5.4 Com.ldci.model包中的类描述283.5.4.1 RmsService
9、类的伪代码283.5.4.2 Trans类的伪代码293.5.4.3 TranslationService类的伪代码303.5.5Com.ldci.controller包中的类描述303.5.5.1 Event类的伪代码303.5.5.2 GUIController类的伪代码313.5.6 Cwok包中类的伪代码313.5.6.1 HttpConnect类的伪代码313.5.6.2ReceiverListener类的伪代码323.5.7Com.ldci.xmlparser包中的类描述323.5.7.1TranslatorXmlParser类的伪代码324主要模块设计335项目截图展示726所遇
10、到的困难及其解决方案756.1困难分析756.1困难分析解决方案767结论80致谢80参考文献801 绪论手机是人们日常生活中所用的非常频繁的通信工具,虽然现在其费用比有线电话高,但是其随时随地的沟通优势,使人们摆脱了线路的束缚。目前中国的一些大城市几乎人手一部或几部手机,正是由于手机的高普及率,使得无线移动商务才得以迅速普及和发展。JAVA技术已经从一种最初用来编写与硬件无关的嵌入式系统的编程语言变成了一种与厂商无关、与硬件无关的健壮的服务器端技术,它使整个企业界可以全面发掘以Web为核心的应用程序的巨大潜力。随着JAVA技术的不断更新提高,J2ME技术的出现,使得手机游戏越来越成为我们关注
11、的焦点。J2ME技术目前最流行的就是在制作手机游戏方面,JAVA手机的出现使得这一技术更有它的用武之地,发挥着他灵活、轻便、快捷的作用。下面在本篇文章中就将详细的介绍J2ME这一技术在应用软件和手机游戏制作方面的具体过程以及其重要的作用。2 J2ME技术概览21 J2ME的概念J2ME的全称是Java2 Micro Edition (J2ME)Java2技术微型版,与J2SE、J2EE一样都是有美国SUN微系统公司提出的JAVA技术规范。22 J2ME简介J2ME是为了能够开发运行在小型设备、独立设备、互联移动设备、嵌入式设备上的JAVA应用程序而被提出的。J2ME是建立在一个由概要描述、配置
12、、JAVA虚拟机和操作系统等部分组成的标准架构之上的,这些内容共同组成了完整的J2ME实时运行环境。它的技术核心是由一个JAVA虚拟机( JVM )及一套适合运行在上述设备环境上的API接口构成。J2ME在1999年的JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算设备的开发人员,这些开发人员需要在他们的产品中整合跨平台的能力。无线设备和小型计算设备的消费者期望这些设备能够有较高的性能。他们希望小型计算设备有快速的响应时间,与同种设备相兼容,拥有功能完备的应用程序。消费者希望桌面计算机和笔记本电脑上的软件和功能同样能够运行在移动电话和个人数字助理上。为了满足他们的需求
13、,开发人员必须重新考虑他们设计计算机系统的方式。开发人员需要利用商业计算机上现有的前端和后端软件的计算能力,并将这些能力传递到微型、移动和无线的计算设备上。J2ME能够以最小的修改来实现这种传递,如果应用程序的设计是可伸缩的,应用程序就可以适应小型计算设备上有限的资源。J2ME为在小型电子设备上创建性能卓越的网络应用提供了一套完整的解决方方案,能很好的解决软件跨平台的兼容性和安全性的问题。22.1 J2ME架构J2ME架构的模块化设计使应用程序可以灵活适应小型计算设备的限制。J2ME架构没有替代小型计算设备的操作系统。相反,J2ME架构由位于原生操作系统之上的多层软件组成,这些软件共同称为“连
14、接有限设备配置”(Connected Limited Device Configuration, CLDC)。安装在操作系统之上的CLDC形成了小型计算设备的运行时环境。J2ME架构由3个软件层组成:第一层是包括在内的配置层,这个层次直接与原生操作系统进行交互。配置层还处理profile和JVM之间的交互。第二层是profile层,由小型计算设备的应用程序编程接口(API)的最小集合组成。第三层是Mobile Information Device Profile( MIDP )层。MIDP层由用户网络连接、永久存储和用户界面的java API组成。它还能够访问CLDC库和MIDP库。2.2.2
15、 JVM虚拟机JVM是专门为微型电子设备与资源受限设备如:手机、寻呼机、移动互联网设备、家用微电子设备等设计的一种轻便、紧凑的JAVA虚拟机。JVM可以为微型电子设备提供一个完整的JAVA运行环境,除了一些微型设备所必需的适当的功能有所不同外,它是由JAVA虚拟机规范定义的真实的JAVA虚拟机。它是专门为那些受资源限制,只有几百K字节内存的微型设备设计的。JVM起初是由SUN微系统实验室为一个名叫“Spotless”的项目创建的。它的目标是为资源受限制的Palm(是目前较为流行的掌上电脑操作系统)可连接的电子设备,实现一个java虚拟机。基于上述原因,JVM具有以下几个特点:(1)小,仅具有4
16、0KB至80KB的静态内存。(2)轻便、精巧。(3)模块化并可定制。(4)尽可能完全紧凑的完成设计目的。2.2.3 MIDP(移动信息设备简表)MIDP是专门为互联受限设备配置设计的,它为移动设备提供了一套API集合,MIDP包含用户界面类、持久存储功能与网络功能。它同时也包括一个供用户下载新应用到终端设备的标准运行环境。运行在MIDP下的小应用程序叫做MIDlet移动设备小应用程序,它与Applet类似。MIDP要求平台设备提供一个机制用来存储简单的数据记录,通过正常的平台事件,比如重新启动和电池更新维护系统的完整性。MIDP是以SUN、Motorola、Nokia为中心的MIDPEG组织(
17、Mobile Information Profile Expert Group)所制订出来使用在CLDC上的Profile,是以能使用在移动电话、双向对讲机、可无线通信的PDA(个人数字助理)上面为前提设计出来的。另外,像日本国内的NTT DoCoMo、J-PHONE、KDDI等电信商与移动电话制造商也都曾参与了MIDPEG。MIDP是在CLDC的功能上附加提供适合目标设备用的GUI与事件处理功能。这样一来,就可以当成MIDP应用程序(MIDlet)来运行了。MIDP由于是由多个企业所共同策划出来的开放标准,因此主要的移动电话制造商也会制造出大量的对应机种。也就是说,以MIDP为基准所制作出来
18、的应用程序,也将可以在流通于市面上的移动电话上执行。另外,MIDP不仅限于移动电话,也已经被移植到PDA Palm OS上,而以MIDP for Palm OS的名字来称呼(与KJava是不同的)。在不使用各电信商的扩展API的时候,制作给移动电话用的MIDlet也将可以使用在Palm OS上面。由于未来MIDP也将会搭载到不同设备之上,也由于其兼容性高,只要写过一次程序,就可以在其他移动电话或是移动电话以外的设备上执行;而这也就是它最大的好处。23 J2ME的发展及未来2.3.1 J2ME发展现状当JAVA平台发展到JAVA 2的版本以后,为了适应不同级别计算机硬件的开发需要,JAVA平台形
19、成了三个主要分支:Java 2, Standard Edition(J2SE):是为台式机而设计的,主要运行在Linux, Solaris, 或Microsoft Windows等操作系统上。 Java 2, Enterprise Edition (J2EE):则是一个适合分布式的、多用户、企业级应用系统运转的平台。它以J2SE为基础,增加了处理服务器端计算的功能。Java 2, Micro Edition (J2ME):和J2SE不同,它既不算是一个软件也不能算是一则规范。准确地说,J2ME是为了支持象PDA、手机等小型的嵌入式或移动设备而推出的一系列的技术和规范的总称。它借用了J2SE类库
20、的一部分,使用了更少的API,而且其J2ME采用的JAVA虚拟机(JVM)比J2SE的JVM也要小得多。应该注意到,J2ME要支持的硬件平台也有很大差异,其中有比较高端的设备,例如电视机的机顶盒、网络电视等;也有比较低端的,象手机、寻呼机等。因此为了满足不同硬件的开发要求,J2ME规定了configuration的概念,Configuration对不同级别的硬件在所使用的JVM和基础API集合方面做了规定。于是,对于高端的设备,采用CDC(Connected Device Configuration),所使用的JVM称为CVM;对于低端设备,则采用CLDC(Connected Limited
21、Device Configuration),所用的JVM为KVM(参见图1)。CDC和CLDC仅仅是对各类设备中最具共性的配置提供了基本的功能集合。但是,实际应用中,不同的设备之前存在着很大的差异。因此,我们在Configuration的基础上,又提出了Profile的概念。Profile规定的内容,是针对某一类设备所制订的规范和API,有了Profile以后,才真正有了可以建立一个可运行J2ME应用程序的完整环境。移动信息设备Profile(Mobile Information Device Profile或MIDP)以CLDC为基础,它是第一个制订完成Profile,也是第一个可供使用的J
22、2ME应用程序运行环境。本文中的内容也将主要围绕MIDP来展开。目前,支持MIDP,可以运行J2ME程序的设备已经有很多,手机包括Motorola 的A388、T720,Nokia 6800、7210等等(详细列表请参见 Group2002年六月的无线JAVA报告,“到 2007年, 几乎所有的手持设备都将提供对JAVA的支持”,看来J2ME在未来的几年里仍然将持续升温。J2ME能为开发者和用户提供什么功能?如前所述,MIDP出现最早,也发展最快,在此我们也仅讨论J2ME MIDP应用程序的开发。2002年10月,JCP(Java Community Process,参见http:/www.j
23、cp.org)推出了MIDP2.0的规范,和MIDP1.0相比,它大大加强了对用户界面、多媒体和游戏功能、网络连接功能的支持,同时将OTA应用程序下载包括到规范中来,另外还为无线信息设备提供了端到端(end-to-end)的安全机制。为了支持对声音的处理(例如播放WAV文件),MIDP2.0中增加了一个可选包ABB(Audio Building Block)。在以前,ABB只包含在Mobile Media API(MMAPI)中,现在将其纳入到MIDP中来,开发者就可以不用依赖于MMAPI了。当然,如果使用了MMAPI,可以为移动设备开发更多的功能,比如可以在PDA上播放视频流等等。对J2ME
24、游戏开发的支持可能是开发者和用户都企盼已久的,MIDP2.0提供的游戏API使得游戏本身可以更充分的利用设备自身的图形处理功能。它的出现无疑大大简化了J2ME游戏的开发工作,同时也使得开发者可以更多地控制程序的图形处理性能。在通信方面,MIDP1.0仅支持HTTP,MIDP2.0则增加了对HTTPS、报文、socket通信以及串口通信的支持。另外,MIDP2.0还支持服务器Push体系架构,这样,你的手机能够收到来自服务器的报警、消息或者广播,根据要求启动手机上的应用程序进行操作。支持Over-the-air (OTA) Provisioning是MIDP2.0的一个重要的新特点,它使得用户能
25、够动态地部署和更新移动设备上的应用程序。新版的MIDP规范中规定了如何在移动设备上发现、安装、更新和删除MIDlet套件;同时,提供应用程序下载的服务提供商还能够判断该MIDlet套件是否能够运行在申请下载的设备上,并且从设备上获取安装、更新和删除的信息。MIDP OTA provisioning模型为移动服务提供商提供了单一、标准的部署MIDP应用程序的途径。该模型已经被众多技术领先的移动设备制造商和服务提供商所采纳。 自从人类步入网络时代以后,网络安全始终是很一个关键的问题。MIDP2.0增加了强大的“端到端”的安全模型。一方面,MIDP2.0支持HTTPS,可以对传输的数据进行加密;另一
26、方面,MIDP2.0采用了和MIDP1.0不同的安全机制,采用安全域来确保未经授权的MIDlet套件无法访问受权限控制的数据、应用程序以及其他网络和设备资源。随着新的规范的推出,Sun、Motorola、Nokia、Borland等都推出了各自的J2ME的开发工具和集成开发环境(IDE),并受到了开发者的广泛好评。据统计,到2003年1月下载J2ME无线应用开发工具(即J2ME Wireless Toolkit,参见J2ME有竞争对手吗?当然有。就象J2EE有来自.NET的竞争一样,J2ME有BREW(无线二进制运行环境)。很可能BREW真正开始聚集中国人眼球的时候是在2002年12月4日,
27、中国联通和CDMA数字无线技术的先驱及全球领导厂商Qualcomm宣布,双方已签署成立合资公司的合同,以促进BREW平台在中国的发展,并扶植壮大中国BREW开发商群体。除了中国联通,美国Verizon、ALLTEL,韩国的KTF以及日本的KDDI已经推出了BREW的商业服务,而且全球越来越多的运营商正不断加入他们的行列。BREW平台是一个瘦应用运行环境,为无线设备提供了一个开放、标准的平台。BREW平台是全面的、端到端的无线应用开发、设备配置、应用分发、计费和支付解决方案的一部分。关于BREW更详细的信息,你可以访问那么,BREW是否对J2ME带来威胁呢?统计表明,如今全世界可以支持J2ME的
28、手持设备如今已经达到了七千五百万,有34个运营商在使用J2ME技术;相比之下,BREW可是小巫见大巫,目前可以运行BREW的设备只有四百六十万,6个CDMA的运营商在提供服务。而且,在2003年3月,Qualcomm宣布将在其CDMA的芯片中提供对J2ME的支持,其实现主要基于MIDP 2.0和CLDC1.0.4。这个举措无疑印证了J2ME是技术领先的开发和部署无线数据服务的解决方案。由于Qualcomm几乎占领了90%的CDMA芯片市场份额,所以这也将加速J2ME向CDMA领域的渗透。当然,Qualcomm并未准备放弃BREW,因此在将来很有可能出现J2ME和BREW共存在同一个移动设备上,
29、各自发挥自己的特长,而受益最大的,是移动设备应用程序的开发者和最终用户。J2ME有没有不足之处?有。如果你是一个J2ME的开发人员,或许曾经遇到过这样的情况:一个已经开发好的可以在Motorola A388上跑的程序在另一个品牌的手机上却不能正常运行,必须经过部分代码的修改才能使用。这种情况的出现,显然违背了Java平台的“编写一次,到处运行”的初衷。到底是什么原因呢?这是因为JCP在制订CLDC和MIDP等规范的时候,为了使其能够适用于众多制造商的产品,做了比较宽泛的规定。因此,当制造商在完成自己的实现的时候,常常会在规范允许的范围内,渗入某些自己开发的功能扩展,那么,当开发者调用这些功能的
30、时候,往往必须针对这些扩展加入部分源代码,从而导致了开发出来的J2ME应用程序的不兼容性。在这种情况下,越来越多的移动设备制造商和开发者意识到,需要建立一个标准来保证J2ME应用程序的跨平台性。无线领域的JAVA技术规范(Java Technology for the Wireless Industry即JTWI,JSR185)正是为了完成这个使命而出现的。来自Motorola,、Nokia、Sony和Sun等公司的技术专家于2002年底开始了该规范的制订,并将于2003年中期正式推出。JTWI并没有定义新的API,而是为已有的J2ME规范(例如CLDC、MIDP、MMAPI等)创建了新的手持
31、设备的Profile,使它们能有效地集成在一起,为在手机以及其他移动设备上实现“端到端的解决方案”提供一个完整的JAVA运行环境。图3为JSR185中规定的在手机软件堆栈中各个组件的关系示意图。举例来说,如果开发人员需要在J2ME程序里调用手机的短信(SMS)功能,则往往需要使用该手机提供的专有的API。实际上,如今标准的做法应该是调用手机实现的Wireless Messaging API(WMA)。那么在JTWI中,将会推荐开发人员使用WMA,而不是专有的API。毫无疑问,JTWI的推出,将督促各个制造商为开发者和用户提供标准化的CLDC和MIDP实现,以克服目前J2ME应用程序的不足,会进
32、一步加强它们的可用性,从而促进其更大程度地在用户中的普及。2.3.2 J2ME 未来情景发展方向现在的j2me主要有两个方向:一是手机游戏,我曾经在我们学校的软件大赛中参与一个手机游戏的编写。首先单机手机游戏没有太大的前景,中国的盗版如此猖獗,想在这块竞争激烈的游戏领域中占有一席之地不是一件容易的事情。比较有前途的是网络版的手机游戏,个人觉得有一定的市场前景,但是受现在硬件设施和网络服务商的限制,没有比较自由的空间。Java手机大多在年轻人的口袋里,而且他们愿意为游戏娱乐付费。他们多是一群追逐流行,信奉时尚的人,如何将一个游戏打造成一种时尚,我想这其中不仅有设计的问题还要有营销的一些深层问题必
33、须在考虑之列,这一点我将会在这一段时间进行思考。二是移动商务,技术永远是手段,应用才是核心与灵魂。我看好移动商务,感觉空间很大,最主要的是能用一种超前的眼光看到未来的商机所在。很多时候重要的不是技术而是智慧、洞察力和勇气。很多文科毕业的在技术领域反而能有很大的成功,不能不引起我们这些原汁原味泡在技术领域的人的反思,大多时候我们被囚固在技术的迷局之中而难以脱身,这恰恰限制了我们自身的发展。不是最先进的技术在占领市场,而是最好的应用,最好的角度在占领市场。我在想我们的生活最需要的是什么,什么才是我们的终极追求?2.3.3 MVC框架MVC (Modal View Controler)本来是存在于D
34、esktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型视图控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型视图控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC如何工作?M
35、VC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。视图视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括Macromedia Flash和象XHTML,XML/XSL,WML等一些标识语言和Web services.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是
36、联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用象EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模
37、型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。现在我们总结MVC的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。为什么要使用 MVC大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用
38、程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。首先,最重要的一点是多个视图能共享一个模型,正如我所提及的,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是 WAP 界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用Macromedia Flash和WAP来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被
39、Flash网站或者无线联网的应用程序所重用。因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。如果你想把你的数据库从MySQL移植到Oracle,或者改变你的基于RDBMS数据源到LDAP,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松偶合的构件。对我来说,控制器的也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力
40、的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。MVC的缺点MVC的缺点是由于它没有明确的定义,所以完全理解MVC并不是很容易。使用MVC需要精心的计划,由于它的内部原理比较复杂,所以需要花费一些时间去思考。你将不得不花费相当可观的时间去考虑如何将MVC运用到你的应用程序,同时由于模型和视图要严格的分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。根据我个人理解,由于我们将一个应用程序分成了三个部件,所以使用MVC同时也意味着你将要管理比以前更
41、多的文件,这一点是显而易见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。MVC并不适合小型甚至中等规模的应用程序,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。MVC是一条创建软件的好途径MVC设计模式是一个很好创建软件的途径,它所提倡的一些原则,像内容和显示互相分离可能比较好理解。但是如果你要隔离模型、视图和控制器的构件,你可能需要重新思考你的应用程序,尤其是应用程序的构架方面。如果你肯接受MVC,并且有能力应付它所带来的额外的工作和复杂性,MVC将会使你的软件在健壮性,代码重用和结构方面上一个新的台阶。24 J2ME API简介l 2.
42、4.1 MIDP API概述MIDP API包含以下五个部分,如表2-1所示:l 表2-1 MIDP API类 别描 述Application包括MIDlet类。Timers主要包括Timers和Timers Task类。Networking提供访问设备通信能力的接口。Persistence通过记录管理系统(RMS)API访问用户永久存储。User Interface包括MIDP LCDUI(液晶显示器用户界面)类。l 2.4.2 MIDlet应用程序MIDlet即MIDP的应用程序, MIDlet应用程序的核心是MIDlet类。为了创建一个MIDlet,必须从这个虚基类派生出自己的类。表2-
43、2提供了从MIDlet类继承的方法。表2-2 MIDlet类方 法描 述访问JAR和JAD文件中的属性String gerAppProperty(string key)返回JAR和JAD中与key相对应的属性的值。Abstract void destoryApp (boolean unconditinal)应用程序管理器在应用程序关闭前,调用这个方法来给我们做一些事情的机会(例如保存状态和释放资源)。Abstract void pauseApp()在用户暂停游戏时,应用程序管理器调用MIDlet的类方法。Abstract void startApp()应用程序管理器调用MIDlet的这个方法,
44、来告诉用户再次开启游戏。Abstract void notifyDestroyed()如果游戏者决定退出游戏,可以调用这个方法来通知应用程序管理器。续表2-2 MIDlet类方 法描 述Abstract void notifyPausrd()调用这个方法来通知应用程序管理器游戏者已经暂停游戏。Abstract void notifyRequest()调用这个方法来告诉应用程序管理器MIDlet要重新开始。应用程序管理器(Application Manager ,AM)的作用就是管理MIDlet 。本质上来说,MIDlet应用程序只存在两种状态暂停和运行。MIDlet被创建后默认为暂停状态,当应
45、用程序管理器认为它准备完毕,它会调用startApp方法来通知MIDlet进入运行状态。l 2.4.3 使用定时器MIDP API 包括两个关于定时器的类Java.util.Timer和Java.util.Timer Tast类 (如表2-3和2-4所示):表2-3 Java.util .Timer类 方 法 描 述Timer()构造一个新的Timer对象。Void cancel()停止Timer。Void schedule(TimeTask task,Dare d)把一个任务定时在时间d运行。Void schedule(TimeTask task, Data firstTime, long
46、period )让一个任务第一次在一个指定的时间运行,然后每隔period毫秒运行一次。Void schedule(TimeTask task,long delay)指定一个任务在delay毫秒后运行一次。Void schedule(TimeTask task,long delay,long period)指定一个任务从delay毫秒连续运行,然后每隔period毫秒运行一次。Void scheduleAtFixedRate(timeTask task,Date firstTime,long period)指定一个任务从firstTime连续运行,然后以固定间隔period毫秒连续运行。Void scheduleAtFixedRate(TimeTask task,long delay,long period)指定一个任务在delay毫秒后运行,然后以