计算机网络毕业设计(论文)-基于J2ME的通信簿程序设计.doc
《计算机网络毕业设计(论文)-基于J2ME的通信簿程序设计.doc》由会员分享,可在线阅读,更多相关《计算机网络毕业设计(论文)-基于J2ME的通信簿程序设计.doc(31页珍藏版)》请在课桌文档上搜索。
1、毕业论文(设计)论文题目 姓 名 学 号 专 业 批次/层次 指导教师 学习中心 基于J2ME的通信簿程序设计摘要:目前个性化的智能信息产品如移动电话、机顶盒、智能卡和掌上电脑等已经越来越普及。由于这些设备本身的特点,开发者面临平台差异性大,难于移植等诸多困难,J2ME的出现可以有效地解决这些难题。J2ME是一种把Java语言应用于嵌入式系统的软件开发模式,具有Java技术中的很多优点,非常适合移动设备应用程序的开发。论文首先介绍了J2ME体系结构及其相关技术,接着介绍如何使用J2ME开发一个具有添加、删除、修改、查询四个基本功能的手机通信簿管理系统,并且给出了J2ME程序开发的流程以及基本的
2、编程技术。通过此通信簿管理系统的开发过程表明,使用J2ME开发移动应用程序具有编程简单、移植性强等特点,因此J2ME技术的应用将会越来越广泛。关键词:MIDPJ2ME RMS 手机通信簿1 前言1.1 无线网络概述如今,随着Internet和移动通信技术的结合,无线网络技术呈现出飞速发展的态势。什么是无线网络呢?所谓无线网络,就是利用无线电波作为信息传输的媒介构成的无线局域网,与有线网络的用途十分类似,最大的不同在于传输媒介的不同,它利用无线电技术取代网线。有线网络在某些场合要受到布线的限制,布线、改线工程量大、线路容易损坏、网中的各节点不可移动,对正在迅速扩大的连网需求形成了严重的瓶颈阻塞。
3、无线网络WLAN就是为了解决有线网络以上问题而出现的。通常用于无线网络的设备包括便携式计算机、台式计算机、手持计算机、个人数字设备 (PDAs)、移动电话等。无线技术应用非常广泛,例如,手机用户可以使用移动电话访问的基站连接到Internet 中。在家中,用户可以连接桌面设备以同步数据发送文件。这些设备给我们的生活带来很大的变化,而且发挥着越来越重要的作用。同时,由于Internet的飞速发展使人们越来越依赖Internet上可以得到的信息,人们不再满足于手机、PDA等设备出厂时所带有的固定的有限功能,而是希望像计算机一样,能够方便的为手机、PDA等小型消费类和嵌入式设备安装各种需要的应用软件
4、,而不是重新购买新的设备。1.2 开发无线应用的困难由于小型消费类和嵌入式设备自身的特点,如:种类繁多、计算能力有限,内存有限、输出、输入设备的特殊性,使得无线应用开发与桌面或企业计算应用开发有很大的不同1。对桌面和企业计算应用来说,开发平台通常与部署环境相同,可以通过高速有线网络与应用系统建立联系。但无线设备的情况正好与之相反,在过去很长一段时间里,无线设备都处于处理器性能低下,内存和图形用户接口资源有限、网络连接速度慢而且不可靠的状况中。目前,在针对无线设备的应用开发时,开发者面临三个主要问题:(1) 开发工具的适用性(2) 实际的无线测试环境(3) 可靠的和可伸缩的服务支持造成这些问题的
5、部分原因是缺少针对无线设备的一致性的应用开发环境,以及缺少适当的无线应用基础设施。尽管无线应用开发有诸多困难,但是无线应用开发仍然取得到了飞快的发展,并且随着J2ME开发平台的发布,使很多问题得到了较好的解决。1.3 无线应用开发平台简介BREWBinary Runtime Environment for Wireless,即无线二进制运行环境,是高通公司2001年推出的基于CDMA网络“无线互联网发射平台”上增值业务开发运行的基本平台2。相对Java,BREW是一个更底层的技术。 BREW提供一个高效、低成本、可扩展和熟悉的应用程序执行环境(AEE),着重开发可无缝植入任何实际手持设备的应用
6、程序。制造商和开发人员可以随时对运行环境进行扩展,提供应用程序需要的各种附加性能模块,如无线互联网发射平台中包含的多媒体、多种连接方式、位置服务、用户界面、网络等功能套件。BREW提供的功能环境就好像PC机上的操作系统一样,可以通过服务提供商下载指定类型的应用程序或游戏。同时,通过BREW接口功能,供应商可以提供成套的完整的资讯、商务、娱乐功能。该平台虽然功能很多但目前还不是很成熟,而且主要是用C语言来开发,只能工作在CDMA网络,据统计,全球34家运营商采用了Java ,而只有8家运营商采用BREW,应用范围相对较小。目前在移动领域广泛使用的开发平台是Sun开发的J2ME(Java 2 Mi
7、cro Edition),即用于嵌入式系统的Java。J2ME技术由一个虚拟机KVM(K Virtual Machine)和一组API组成,这组API适合于为消费和嵌入式电子设备提供经过剪裁的运行环境2。KVM虚拟机本身仅仅需要40-80KB内存、20-40KB动态内存(堆),能够运行在16位25MHz处理器上。J2ME为移动互联引入了一种新的模型,即允许手机可以从互联网上下载各种应用程序,并在手机上创造可执行环境离线运行这些程序。作为Java技术在移动电话等小型设备的版本,它针对屏幕、电能和内存等资源有限的移动设备进行了优化和定义,为了解决无线设备多样化的矛盾,Sun依照各种设备的资源特性将
8、J2ME技术架构分为JavaVirtual Machine(JVM)、配置(configuration)和简表(profile)三层,然后再进一步细分,这使J2ME能够在每一类设备的限制下工作,而同时提供最低限度的Java语言功能性。BREW和J2ME是目前主要的无线应用开发平台,除了这两种还有E、Symbian、Windows Mobile、RFgen等无线应用开发平台在此就不多介绍了。1.4 无线应用的领域及发展前景无线技术在我们的生活中发挥越来越重要的作用,给我们的生活带来了很大的便利,其中应用最广泛,与我们最紧密相关的就是手机方面的应用了。现在很难找到一款不支持Java的手机,因为手机
9、现在不只作为通话的工具,而且已渐渐向娱乐工具发展,甚至是商务办公的工具。无线网络和无线设备的发展给无线设备上的软件开辟了广阔的前景,也许不久的将来人们在出差或是旅游时能够利用手机进行联网游戏,或者通过手机访问和享用Internet服务。1.5 课题来源以及研究的主要内容随着Internet和移动通信技术的结合,无线Internet技术呈现出飞速发展的态势。无线Internet技术经历了WAP技术之后,出现了一系列的无线接入标准。如802.11、802.11 a / b /g、802.16、802.20、Bluetooth、红外线、GPRS、CDMA 1X、3G等。由于移动接入设备的种类繁多,导
10、致无线终端设备的硬件、OS、应用平台和应用软件各不相同。因此具有移植性好、超越平台差异的技术J2ME就应运而生。本项目是陕西师范大学校级重点科研项目(无线网络自适应安全体系结构)的子任务之一。本文在介绍Java的基础上,详细论述J2ME体系结构的系统构成,通过设计和开发基于J2ME的通信簿管理系统,讲述J2ME应用开发的相关编程技术。 2 Java语言简介2.1 Java语言简介随着Internet与WWW的兴起和不断发展,需要开发许多大型软件系统,如何简化这些大型系统的开发、设计和维护,使系统具有灵活性、可移植性和互操作性,成为软件开发必须考虑的问题。美国Sun Microsystems公司
11、于1995年5月正式发布的程序设计语言Java的诞生正是应允了这个要求。Java语言有着很好的网上移植性、安全性,并且在编程难度上比C/C+语言简单,是目前软件设计中极为健壮的编程语言,特别适用于网络程序的开发。Java给开发人员带来的最大好处就是“一次编译,处处运行”3。为什么Java语言这么受欢迎呢?因为它具有以下特点4:(1) 简单性(Simple):Java是个精简的系统,不需要强大的硬件环境便可以很好地运行。Java的风格和语法类似于C+,从某种意义上讲,Java语言是C及C+语言的一个变种,因此,C+程序员可以很快就掌握Java编程技术。Java摒弃了C+中容易引发程序错误的地方,
12、如多重继承、运算符重载、指针和内存管理等,Java语言具有支持多线程、自动垃圾收集和采用引用等特性。Java提供了丰富的类库,方便用户迅速掌握Java。(2) 面向对象(Object Oriented):面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。所有的Java程序和applet均是对象,Java支持静态和动态风格的代码继承及重用。(3) 分布式(Distributed):Java包括一个支持HTTP和FTP等基于 TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,就像访问本地文件一样
13、简单方便。Java的分布性为实现在分布环境尤其是Internet下实现动态内容提供了技术途径。(4) 健壮性(Robust):Java是一类强类型语言,它在编译和运行时要进行大量的类型检查。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java的数组并非采用指针实现,从而避免了数组越界的可能。Java通过自动垃圾收集器避免了许多由于内存管理而造成的错误。Java在程序中由于不采用指针来访问内存单元,从而也避免了许多错误的发生。(5) 结构中立(Architecture Neutral):作为一种网络语言,Java编译器将Java源程序编译成一种与体系结构
14、无关的中间文件格式。只有有Java运行系统的机器都能执行这种中间代码。从而使同一版本的应用程序可以运行在不同的平台上。(6) 安全性(Secure):作为网络语言,安全是非常重要的。Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等 C+功能被删除,避免了非法内存操作。另一方面,当就Java用来创建浏览器时,语言功能和一类浏览器本身提供的功能结合起来,使它更安全。Java语言在你的机器上执行前,要经过很多次的测试。它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。另外,Java拥有多个层次的互锁保护措施,能有效地防止病毒
15、的入侵和破坏行为的发生。(7) 可移植(Portable):Java与体系结构无关的特性使得Java应用程序可以在配备了Java解释器和运行环境的任何计算机系统上运行,这成为Java应用软件便于移植的良好基础。但仅仅如此还不够。如果基本数据类型设计依赖于具体实现,也将为程序的移植带来很大不便。Java通过定义独立于平台的基本数据类型及其运算,使Java数据得以在任何硬件平台上保持一致,这也体现了Java语言的可移植性。还有Java编译器本身就是用Java语言编写的,Java运算系统的编制依据POSIX方便移植的限制,用ANSIC语言写成,Java语言规范中也没有任何“同具体实现相关”的内容,这
16、说明Java本身也具有可移植性。同时Java语言的类库也具有可移植性。(8) 解释的(Interpreted):Java解释器(运行系统)能直接对Java字节码进行解释执行。链接程序通常比编译程序所需资源少。(9) 高性能(High Performance):虽然Java是解释程序,但它具有非常高的性能。另外,Java可以在运行时直接将目标代码翻译成机器指令。(10) 多线程(Multithreaded):线程有时也称小进程,是一个大进程里分出来的小的独立运行的基本单位。Java提供的多线程功能使得在一个程序里可同时执行多个小任务,即同时进行不同的操作或处理不同的事件。多线程带来的更大的好处是
17、具有更好的网上交互性能和实时控制性能,尤其是实现多媒体功能。(11) 动态性(Dynamic)Java的动态特性使其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,而不影响使用这一类库的应用程序的执行,这是采用C+语言进行面向对象程序设计时所无法实现的2.2 输入输出流本文中开发的通信簿管理系统将要用到这部分知识,在此我们对其进行简单介绍。输入输出是程序设计中的一个重要内容。任何程序都需要有数据输入,对输入的数据进行运算后,再将数据输出。在面向对象的程序设计语言中,用数据流来实现输入和输出。数据流是指一组有序的、有起点和终点的字节集合。2.2.1 输入流和输出流流是一个很形象
18、的概念,当程序需要读取数据时,就会开启一个通向数据源的流,这个源可以是文件、内存、或是网络连接,则这就是输入流(InputStream)。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流,这就输出流(OutputStream)。Java中的流分为两种,一种是字节流,另一种是字符流,分别用四个抽象类来表示:InputStream,OutputStream,Reader,Writer。Java中其他多种多样变化的流均是由它们派生出来的。2.2.2 标准输入输出标准输入输出是指在命令行方式下的输入输出方式。用键盘输入数据是标准输入(stdin),以屏幕为对象的输出是标准输出(stdout
19、)。还有以屏幕为对象的标准错误输出(stderr)。System.in:in是字节输入流InputStream的对象,其中有read方法从键盘读入数据。System.out:out是PrintStream的对象,其中有print和println方法向屏幕输出数据。这两个方法支持任何类型的数据输出,方法println在输出数据后再输出一个回车符。System.err和System.out一样向屏幕输出错误信息。2.2.3 字节流Java中的字节流是用于处理字节的输入和输出的,包括读写二进制数据等方面的内容。我们先来看下面两个图:图1 InputStream类结构图图2 OutputStream类
20、结构图从图1中可以看出,InputStream是所有字节输入流的祖先,而图2中的OutputStream是所有字节输出流的祖先。它们都在java.io包中。2.3 Java虚拟机(Java Virtual Machine,即JVM)Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行5。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机首先翻译Java源程序为字节码(字节码是与平台无关的虚拟机的机器指令。),然后执行翻译所生成的子节代码,属
21、于先解释后执行的方式,它类似一个小巧而高效的CPU。Java字节代码运行有两种方式:解释方式和即时编译。对于有些程序而言,采用解释方式执行程序,运行速度会很慢。为了提高速度,Java为每个系统都提供了可以直接把字节码文件编译成可执行的映像文件的变压器,Java把这类编译器称为即时编译器(JIT),它们被捆绑在一些Web浏览器中。Java的面向网络的核心就是Java虚拟机,它支持Java面向网络体系结构三大支柱的所有方面:平台无关性、安全性和网络移动性。3 J2ME简介与开发工具3.1 Java 2 平台的三种版本Java的早期版本称为JDK,Sun公司在1.2版之后将其改名为Java 2,Ja
22、va 2平台的发布被称为是Java发展史的新里程碑,目前社会上流行的很多Java教程都是基于Java 2技术的。Java 2平台有三个不同的版本:J2SE,J2EE,J2ME,其比较如表1所示。每个版本针对不同的应用开发者和不同的运行时环境JRE(Java Runtime Environment) 6。J2SE(Java 2 Standard Edition,Java2平台标准版)是Java2平台中最基本的成员,是一组针对传统桌面应用的应用编程接口和运行时环境。J2SE使用Java HotSpot虚拟机来提高其性能,其类库包含了Java语言的所有特性。J2EE(Java 2 Enterpris
23、e Edition,Java 2平台企业版)是J2SE的扩展集,主要用于在服务器端开发可伸缩、可迁移、以数据库为核心的企业应用。它也使用Java HotSpot虚拟机。J2ME(Java 2 Micro Edition,Java2平台微型版 )定义了一组针对嵌入式设备和消费电子设备的API和运行时环境。嵌入式设备包括无线手持设备如手机、PDA、电视机顶盒等。因为这些设备内存和处理器的限制,J2ME所运行类库较小。J2ME是一种把Java语言应用于嵌入式系统的软件开发模式,因此拥有Java技术本身的各种特点:平台无关性、网络安全性等等。并且,J2ME提供了HTTP高级Internet协议, 使手
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 毕业设计 论文 基于 J2ME 通信 程序设计
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-1253841.html