基于J2ME手机阅读器毕业设计提交版.docx
- 文档编号:11247587
- 上传时间:2023-02-26
- 格式:DOCX
- 页数:28
- 大小:99.21KB
基于J2ME手机阅读器毕业设计提交版.docx
《基于J2ME手机阅读器毕业设计提交版.docx》由会员分享,可在线阅读,更多相关《基于J2ME手机阅读器毕业设计提交版.docx(28页珍藏版)》请在冰豆网上搜索。
基于J2ME手机阅读器毕业设计提交版
手机网络版小说阅读器设计与开发
摘要
近年来,随着信息技术的飞速发展,移动通讯与互联网的融合日趋明显,作为电子商务领域的新生力量——移动商务,开始成为传统电子商务的有益补充,显示出巨大的发展潜力和成长空间。
移动商务以其灵活、简单、方便的特点正受到越来越多人的关注,人们迫切希望能够享受到移动商务带来的便利。
国内外越来越多的厂商在Sun公司、摩托罗拉、西门子等公司的技术支持下开始开发基于J2ME平台的无线应用服务。
J2ME是SUN公司针对嵌入式、消费类电子产品推出的开发平台,与J2SE和J2EE共同组成Java技术的三个重要的分支。
J2ME实际上是一系列规范的集合,由JCP组织制定相关的JavaSpecificationRequest(JSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK测试,这样确保兼容性。
J2ME平台由于自身的特点,己经成为当前业界流行的无线应用开发支柱平台。
利用J2ME提供的功能,电子商务、企业的商务应用等都可以扩展到无线上来,基于J2ME平台的手机应用开发已经成为热点。
本文首先分析了J2ME在当前移动终端发展中所具有的重要角色,选择J2ME作为移动终端软件开发平台的优势。
实际开发了一个基于2ME平台的多媒体手机阅读器软件,进行了相关理论和技术的分析。
并在此基础上,对W3C提出的CC/PP框架进行了系统的分析,并针对这款手机阅读器进行了改进分析,以达到个性化服务的效果。
关键词:
移动设备,J2ME,MIDP,阅读器
MobileSTAND-ALONENOVELDESIGNANDDEVELOPMENTOFREADER
Abstract
Inrecentyears,alongwiththeinformationtechnologyrapiddevelopment,MobilecommunicationandtheInternetfusionisdaybydayobvious,tooktheelectroniccommercedomainthestrengthfornewlife-MobileCommerce,startedtobecomethetraditionelectroniccommercethebeneficialsupplement,demonstratedthehugedevelopmentpotentialandthegrowthspace.Themotioncommercebyitsnimble,simple,theconvenientcharacteristicisreceivingthemoreandmoremanyperson'sattention,thepeopleearnestlyhopecanenjoytheconveniencewhichbringstothemotioncommerce.Thedomesticandforeignmoreandmoremanymanufacturersincompany'sunderandsoonSunCorporation,Motorola,SimenstechnicalsupportstarttodevelopbasedontheJ2MEplatformwirelessapplicationservice.J2MEisSUNCorporationthedevelopmentplatformwhichinviewofembedded,theexpenseclasselectronicproductspromotes,composestheJavatechnologytogetherwithJ2SEandJ2EEthreeimportantbranches.J2MEinfactisaseriesofstandardset,formulatesrelatedJavaSpecificationRequest(JSR)bytheJCPorganizationandissued,eachmanufacturercandefertothestandardtocarryontherealizationonownproduct,butmusthavethroughtheTCKtest,toguaranteethecompatibilitylikethis.
TheJ2MEplatformasaresultofowncharacteristic,oneselfafterbecomesthecurrentfieldpopularwirelessapplicationdevelopmentpropplatform.ThefunctionprovideswhichusingJ2ME,electroniccommerce,enterprise'scommerceusingandsoonallmayexpandwirelesstocomesup,alreadybecamethehotspotbasedontheJ2MEplatformhandsetusingthedevelopment..ThisessayfirstanalysestheimportantroleofJ2MEinthedevelopmentofmobileterminal,theadvantageofchoosingJ2MEasthedevelopmentplatformofmobileapplication.Developedamulti-mediatelephonereaderapplicationontheJ2ME·platform,andcarriedoutrelevancetheoryandthetechnologyanalysis.Afterthat,carriedoutsystematicanalysisontheCC/PPframebroghtbyW3C.Basetheapplication,accordingthetheoryofCC/PP,carriedouttheimprovementanalysisanddesign,inordertoachievetheeffectofindividuationservice.
Keyword:
Mobileequipment,J2ME,MIDP,Reader
1引言
1.1课题背景
手机是人们日常生活中所用的非常频繁的通信工具,虽然现在其费用比有线电话高,但是其随时随地的沟通优势,使人们摆脱了线路的束缚。
手机及其他无线设备越来越多的走进普通百姓的工作和生活,随着信息网络化的不断进展,手机及其他无线设备上网络势在必行。
目前几乎人手一部或几部手机,正是由于手机的高普及率,使得无线移动商务才得以迅速普及和发展。
随着通讯技术的发展及手机的普及,人们正在不断地给手机增加新的功能,其中,使手机实现一般只有PC机才具有的功能——下载各种程序并运行,是目前手机发展的一个重要方向。
为此,人们提出了各种各样的解决方案,其中基于JAVA的J2ME方案无疑是最引人注目的。
JAVA技术已经从一种最初用来编写与硬件无关的嵌入式系统的编程语言变成了一种与厂商无关、与硬件无关的健壮的服务器端技术,它使整个企业界可以全面发掘以Web为核心的应用程序的巨大潜力。
随着JAVA技术的不断更新提高,J2ME技术的出现,使得手机游戏越来越成为我们关注的焦点。
J2ME技术目前最流行的就是在制作手机游戏方面,JAVA手机的出现使得这一技术更有它的用武之地,发挥着他灵活、轻便、快捷的作用。
近几年,由于微处理器性能的大幅提升,加上无线通讯技术的突破,手持式移动设备开始受到大众的青睐。
短短几年内,手机已经升级了几代产品,普及率逐年攀升,生产效率不断上升,产品价格比个人电脑的摩尔定律有更惊人的下调,以至手机是大多是城市居民不可缺少的一件随身设备。
继短信、彩信等服务之后,中国移动提供基于Java的百宝箱业务,应用产品遍及商务应用、信息获取、英汉互译、游戏娱乐等多媒体领域。
根据官方公布的统计数据,我国移动电话用户已突破3亿。
依托这样的市场,一旦无线Java应用大规模开展起来,将会创造出比短信业务更为惊人的利润。
Java语言原先的开发目的与市场的需求不谋而合,并且也已经成为手机应用程序开发的标准,国际大公司如Nokia、Motorola及Siemens等所设计的手机内都加入Java程序的支持,可见在不久的将来,Java将会成为移动设备上最热门的语言。
手机中将Java语言引入,作为一种通用的开发标准,并将向市场推广普及仅仅短短几年,J2ME仍是一种新型的技术,中文资料除台湾出版过相关书籍外,国内相关介绍资源很有限,国内J2ME开发商也屈指可数,名声较响的Digital-Red公司也仅成立于1999年。
本文可算是对新技术的一些尝试,代表对无线平台应用程序推广的一些努力。
1.2研究目的
随着人们对快节奏的学习充电的重视,对移动阅读的需求也相应增大,为了满足人们移动阅读的愿望,因此我们急需J2ME开发一款能满足人们日常阅读得简洁方便的手机软件。
既然阅读器面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习使用技巧。
保持程序操作的简易是最基本的要求。
阅读器最基本的功能包括:
载入图书、前进、后退、存档、读取书签,更换背景。
并且阅读器还可以阅读网络上的资源,实现资源利用的最大化。
此外,该程序可下载到手机上,随时随地的进行阅读,这样就可以通过这种方式开发一些学习软件,使手机用户可有一个随身学习的工具书。
1.3论文组织结构
本篇论文共分为七个部分:
包括引言,J2ME技术概览,需求分析、程序结构和相关技术,程序分析和具体实现,困难总结,前景展望和结论,参考文献及致谢。
其中第四部分“程序分析和具体实现”是本篇论文的重点。
整篇论文都是围绕着这一部分来展开论述的,在这一部分里详细介绍网络版手机阅读器的开发全过程和开发过程中存在的疑难问题。
其中包括:
手机阅读器如何读取文本,J2ME文本阅读器中的文本格式,读取文本文件的主要技术实现,将文本文件内容显示出来的技术实现,阅读器中的菜单设计技术实现。
通过对J2ME的详细介绍我们可以从中了解到其自身的作用,近年来,随着JAVA手机的诞生,其无可替代的灵活性与轻便性致使JAVA手机游戏成为游戏市场的又一亮点,它的前景无可限量,必将在我们以后的生活中发挥着重要的作用。
2J2ME技术概览
2.1开发环境
操作系统:
MicrosoftWindowsXP
程序语言:
Java2
开发包:
Java(TM)2StandardEdition(5.0)SunMicro.J2MEWirelessToolKit2.2
IDE:
Eclipse3.01
2.2J2ME的概念
J2ME的全称是Java2MicroEdition(J2ME)——Java2技术微型版,与J2SE、J2EE一样都是有美国SUN微系统公司提出的JAVA技术规范。
2.3J2ME简介
J2ME是为了能够开发运行在小型设备、独立设备、互联移动设备、嵌入式设备上的JAVA应用程序而被提出的。
J2ME是建立在一个由概要描述、配置、JAVA虚拟机和操作系统等部分组成的标准架构之上的,这些内容共同组成了完整的J2ME实时运行环境。
它的技术核心是由一个JAVA虚拟机(JVM)及一套适合运行在上述设备环境上的API接口构成。
J2ME在1999年的JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算设备的开发人员,这些开发人员需要在他们的产品中整合跨平台的能力。
无线设备和小型计算设备的消费者期望这些设备能够有较高的性能。
他们希望小型计算设备有快速的响应时间,与同种设备相兼容,拥有功能完备的应用程序。
消费者希望桌面计算机和笔记本电脑上的软件和功能同样能够运行在移动电话和个人数字助理上。
为了满足他们的需求,开发人员必须重新考虑他们设计计算机系统的方式。
开发人员需要利用商业计算机上现有的前端和后端软件的计算能力,并将这些能力传递到微型、移动和无线的计算设备上。
J2ME能够以最小的修改来实现这种传递,如果应用程序的设计是可伸缩的,应用程序就可以适应小型计算设备上有限的资源。
J2ME为在小型电子设备上创建性能卓越的网络应用提供了一套完整的解决方案,能很好的解决软件跨平台的兼容性和安全性的问题。
Java技术在无线应用方面的优势非常明显:
1.应用程序可按需下载,而不是购买由硬件商提供的套件,可升级空间大。
2.Java技术提供了一个类库,它使的应用开发商可以创建更为直觉、丰富的用户界面(GUI);
3.Java技术使网络带宽的应用更为有效,因为应用程序可以下载到器件上,并在本地运行,仅仅是在连接到服务器时才会占用网络带宽。
基于以上分析,Java手机将是未来手机的发展方向,是业界的热点。
2.3.1J2ME架构
J2ME架构的模块化设计使应用程序可以灵活适应小型计算设备的限制。
J2ME架构没有替代小型计算设备的操作系统。
相反,J2ME架构由位于原生操作系统之上的多层软件组成,这些软件共同称为“连接有限设备配置”(ConnectedLimitedDeviceConfiguration,CLDC)。
安装在操作系统之上的CLDC形成了小型计算设备的运行时环境。
J2ME架构由3个软件层组成:
第一层是包括在内的配置层,这个层次直接与原生操作系统进行交互。
配置层还处理profile和JVM之间的交互。
第二层是profile层,由小型计算设备的应用程序编程接口(API)的最小集合组成。
第三层是MobileInformationDeviceProfile(MIDP)层。
MIDP层由用户网络连接、永久存储和用户界面的javaAPI组成。
它还能够访问CLDC库和MIDP库。
2.3.2JVM(虚拟机)
JVM是专门为微型电子设备与资源受限设备如:
手机、寻呼机、移动互联网设备、家用微电子设备等设计的一种轻便、紧凑的JAVA虚拟机。
JVM可以为微型电子设备提供一个完整的JAVA运行环境,除了一些微型设备所必需的适当的功能有所不同外,它是由JAVA虚拟机规范定义的真实的JAVA虚拟机。
它是专门为那些受资源限制,只有几百K字节内存的微型设备设计的。
JVM起初是由SUN微系统实验室为一个名叫“Spotless”的项目创建的。
它的目标是为资源受限制的Palm(是目前较为流行的掌上电脑操作系统)可连接的电子设备,实现一个java虚拟机。
基于上述原因,JVM具有以下几个特点:
(1)小,仅具有40KB至80KB的静态内存。
(2)轻便、精巧。
(3)模块化并可定制。
(4)尽可能完全紧凑的完成设计目的。
2.3.3MIDP(移动信息设备简表)
MIDP是专门为互联受限设备配置设计的,它为移动设备提供了一套API集合,MIDP包含用户界面类、持久存储功能与网络功能。
它同时也包括一个供用户下载新应用到终端设备的标准运行环境。
运行在MIDP下的小应用程序叫做MIDlet移动设备小应用程序,它与Applet类似。
MIDP要求平台设备提供一个机制用来存储简单的数据记录,通过正常的平台事件,比如重新启动和电池更新维护系统的完整性。
MIDP是以SUN、Motorola、Nokia为中心的MIDPEG组织(MobileInformationProfileExpertGroup)所制订出来使用在CLDC上的Profile,是以能使用在移动电话、双向对讲机、可无线通信的PDA(个人数字助理)上面为前提设计出来的。
另外,像日本国内的NTTDoCoMo、J-PHONE、KDDI等电信商与移动电话制造商也都曾参与了MIDPEG。
MIDP是在CLDC的功能上附加提供适合目标设备用的GUI与事件处理功能。
这样一来,就可以当成MIDP应用程序(MIDlet)来运行了。
MIDP由于是由多个企业所共同策划出来的开放标准,因此主要的移动电话制造商也会制造出大量的对应机种。
也就是说,以MIDP为基准所制作出来的应用程序,也将可以在流通于市面上的移动电话上执行。
另外,MIDP不仅限于移动电话,也已经被移植到PDAPalmOS上,而以MIDPforPalmOS的名字来称呼(与KJava是不同的)。
在不使用各电信商的扩展API的时候,制作给移动电话用的MIDlet也将可以使用在PalmOS上面。
由于未来MIDP也将会搭载到不同设备之上,也由于其兼容性高,只要写过一次程序,就可以在其他移动电话或是移动电话以外的设备上执行;而这也就是它最大的好处。
2.4JavaAppicationManager
手机中负责调配程序运行资源的管理后台是JavaApplicationManager。
它所使用的传输媒体可以是红外线、网络、以及其他可用来传输的媒体。
JavaApplicationManager会从网络上下载代表该ApplicationSuite的JAR档,接着在手机上安裝此MIDletSuite,然后在手机开始执行该应用程序。
整个详细的运作流程如图2-1所示。
3需求分析、程序结构和相关技术
3.1本程序需解决的有关技术问题
1.随着人们对一定阅读的需求增大,我们急需一款能满足人们日常阅读手机软件,既然阅读器面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习使用技巧。
保持程序操作的简易是最基本的要求。
阅读器最基本的功能包括:
载入图书、前进、后退、存档、读取书签,更换背景。
2.用户运行阅读器时需要有书签记录的功能。
这就需要进行适当的设计。
记录书签的存储方式也需要有较好的解决方案。
手机中由于处理器和内存空间、存储空间都十分有限,其数据库系统与普通PC大相径庭。
其数据库结构较为简单,被称之为RMS系统。
3.手机应用程序是一项精度要求很高的程序系统,因为其代码利用率很高。
一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错误,甚至死循环。
因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。
4.为了美观,适用性强,可能需要采用外部文件引入的图片贴图,有关贴图,在MIDP2.0中提供了用于增强游戏功能的game包,使得解决静态或动态、画面背景、屏幕刷新的双缓冲等都有较好的解决方案。
5.程序的结束、开始、动态信息画面作为构成一个完美程序都是必不可少的重要部分。
良好的用户界面更是吸引用户的硬指标,相关的美术构图也需要有一定的考虑。
6.Java是基于虚拟机的半解释型编译系统,其执行效率较C++等完全编译后的程序会低很多,程序如果不进行精简和优化,将可能导致运行的不流畅。
除开发过程中对结构上的控制、变量的使用、算法的优化等优化外,还可以使用混淆器(Obfuscator)进行程序打包后的优化。
以上相关技术细节和整体流程将分别在以下小节阐述。
3.2程序流程
MIDletsuite是MIDP应用程序的最小单位,JAM负责将手机内的MIDletsuite以图形化的方式呈现,让用户能够选取欲执行的MIDletsuite,一旦选取了某个MIDletsuite,操作系统就会激活KVM执行里面的MIDlet。
MIDlet及相关的支持类组成了MIDP应用程序的实际内容。
每个MIDlet都必须继承javax.microedition.midlet.MIDlet这个抽象类。
在MIDP规格中定义了MIDlet的生命周期,以及可以存在的三种状态,包括Paused、Active以及Destroyed,每一个MIDlet在任何时刻只可能处于其中的一个状态。
这三种状态的转换关系如上图所示:
MIDlet的三个状态,pause、active和destroyed.在启动一个MIDlet的时候,应用管理软件会首先创建一个MIDlet实例并使得他处于pause状态,当startApp()方法被调用的时候MIDlet进入active状态,也就是所说的运行状态。
在active状态调用destroyApp(booleanunconditional)或者pauseApp()方法可以使得MIDlet进入destroyed或者pause状态。
值得一提的是destroyApp(booleanunconditional)方法,事实上,当destroyApp()方法被调用的时候,AMS通知MIDlet进入destroyed状态。
在destroyed状态的MIDlet必须释放了所有的资源,并且保存了数据。
如果unconditional为false的时候,MIDlet可以在接到通知后抛出MIDletStateChangeException而保持在当前状态,如果设置为true的话,则必须立即进入destroyed状态。
本程序采用面向对象的设计模式,对游戏中的所有物体赋予对象的概念和属性。
运行程序后允许用户选择执行选项菜单,在开始运行后将先从外部文件载入背景图片文件,对背景的所有物体进行绘图。
3.3Canvas类
为了能有程序开发人员控制接口的外观和行为,需要使用大量的初级用户接口类,尤其在游戏程序中,几乎完全依赖的就是Canvas抽象类进行绘图。
从程序开发的观点看,Canvas类可与高级Screen类交互,程序可在需要时在Canvas中掺入高级类的组件。
Canvas提供了键盘事件、指点杆事件(如果设备支持),并定义了允许将键盘按键映射为游戏控制键的函数。
键盘事件由键代码指定,但这样控制游戏会导致缺乏通用性,并不是每个设备的键盘布局都适合游戏的操作。
应当将键代码转换为游戏键的代码,以便硬件开发商能定义他们自己的游戏键布局。
3.4Graphics类
Graphics类提供了简单的2D绘图功能。
它具有24位深度色彩的绘制能力,以三原色分别各占一个字节表示其颜色。
程序只能在paint()函数中使用Graphics绘制,GameCanvas可调用getGraphics()函数直接绘制在缓冲区上,可以在任何时间请求传输到前台。
其对象会被传给Canvas的paint()函数,以便最终显示。
3.5MIDP1.0技术下的绘制背景技术
在没有MIDP2.0前,进行游戏绘图一般需要手动编程使用双缓冲。
需要在paint()方法内将所想要画的图形画在一张预先准备好的背景上,等所有绘图操作都完成后再将背景的数据拷贝到实际的屏幕上。
Image类提供了一个建立背景的静态方法createImage(intwidth,intheight),再利用getGraphics()方法取得属于这个背景的Graphics对象,所进行的绘图操作都会作用在背景上,等到全部的绘图操作完成后,再调用drawImage()方法将背景的数据复制到实际显示的屏幕上。
这样的技术在绘制动画时特别有用。
绘制动画时经常需要不断地更新画
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2ME 手机 阅读器 毕业设计 提交