算机网络毕业论文java通信计算机网络(编辑修改稿)内容摘要:
的内存需求不包括 CLDC 的存储需求) 显示:最小屏幕分辨率为 96*54 像素; 1 位色彩深度;屏幕宽高比约 1: 1 输入:单手、双手、触摸屏或任意二者并存。 J2ME 中的虚拟机 在 J2ME 中有两类虚拟机 CVM( C Virtual Machine, C 虚拟机)与 KVM [8]。 KVM 和 CVM都可被看作是一种 Java 虚拟机,是 JVM 的子集,在功能上都是 JVM 的缩减版。 这两类虚拟机的适用范围并不相同,简单地说, CVM 比 KVM 包含更多的功能和支持更多的特性。 CVM虚拟机用来执行较高端(硬件功能相对较强)的 CDC 设备上的 Java 程序;而 KVM 虚拟机用来执行下载至低端(硬件功 能不强)的 CLDC 设备上的 MIDlet。 应用程序永远不会直接调用 13 虚拟机服务的,所以对于一般的应用程序开发者可以不用对虚拟机有更深入的了解。 J2ME 的环境 通过上面对 J2ME 体系结构中配置、简表以及虚拟机的简单介绍,我们总结出 J2ME 的整体环境 [9]如下图所示: 主 机 操 作 系 统K V M C V MC L D C 核 心 库 C D C 核 心 库F o u n d a t i o n 简 表M I D P P D A 简 表R M I 简 表 P e r s o n a l 简 表 图 4 J2ME 的环境 在一个设备上只有一个符合其配置规范的 Java 虚拟机和核心类库,但一个配置上可以有多个简表。 J2ME的前景 现在绝大多数的手机已经能够支持 Java 技术,并且广泛地采用了 J2ME 平台。 那么 J2ME现在能够做什么呢。 现在的手机已不仅仅是用来通话的工具,人们希望手机也能够成为一款娱乐的工具,甚至是商务办公的工具,在提供各种功能的同时也能够访问 Inter 上的各种资源,这都给 J2ME 在智能手机方面的应用留下了广阔的空间。 随着硬件的发展和标准的完善,J2ME 必将能够提供更强大的功能。 J2ME 无线应用开发工具 目前主流的用于开发 J2ME 应用程序的开发工具,包括 SUN Wireless Toolkit 、 Netbeans IDE 、 Eclipse 和 JBuilder。 WTK 是一系列工具的集合,包括 Ktoolbar、模拟器和辅助工具,使用它们可以为移动电话或者其他嵌入式设备开发 MIDP 应用程序 [7]。 从 Beta 版本之后, SUN 将 WTK 的名称修改为 SUN Java Wireless Toolkit,本文使用 WTK 正式版。 WTK 还提供了很多有用的辅助工具用于开发 J2ME 应用程序,例如网络监视器可以方便的监视客户端与服务器端的通信;内存监视器可以监视程序运行过程中内存的消耗情况,可以以此为根据对程序进行适当的优化;短消息控 制台和蓝牙控制中心可以在开发基于 WMA 和蓝牙的应用程序时协助调试。 尽管 已经提供了如此多的功能,还是很难掩饰其不能编辑代码,对项目管理不够强大的不足。 14 Netbeans 是一个开源项目,致力于为开发者提供稳定、出色的开发工具。 Netbeans IDE 和 Netbeans 平台是 的两个著名产品。 Mobility Pack 用于开发、测试和调试 MIDP 应用程序。 Mobility Pack 可以和 Netbeans IDE 无缝集成,支持CLDC 和 MIDP 开发环 境。 Mobility Pack 还可以很容易地与第三方模拟器集成为开发者提供所需的运行环境。 Eclipse 是 IBM 开发的开源工具,恐怕已经成为了 Java 开发者最为欣赏的开发工具。 围绕Eclipse 的插件更是层出不穷。 eclipseME 就是一个非常出色的用于开发 MIDP 应用程序的第三方插件。 JBuilder 是开发 MIDP 应用程序的另一选择,与前面介绍的工具不同的是, JBuilder 并非免费软件,开发者需要购买才可以使用正式版本。 其实,各种开发工具只是以自己的方式对MIDP 应用程序的开发进行了封装,原理还是 MIDP 应用程序的开发流程。 4 MIDP 程序设计 MIDP 就是上面介绍的移动信息设备简表,它是最常用的一种简表。 MIDP 适用范围主要集中在智能手机的程序开发上,因为要开发的 200 人的手机通信簿管理系统,需要了解 MIDP程序设计,下面我们对它做一个简单介绍。 MIDP编程基础 MIDP 的应用程序 MIDlet MIDlet 是 MIDP 中的基本执行单元,这是 Sun 公司对 MIDP 上的应用程序的一个独特叫法,意思是 “MIDP 小应用程序 ”。 他是用来满足小型资源受限设备的特殊需求,由 MIDP 规范所定义的一个全新的应用程序模型。 它们不能单独运行,而必须运行在特定的运行环境(容器)之中。 这个容器可看作是一个大的应用程序,运行在 Java 虚拟机之上,但不能完成特定的任务,因此需要程序人员编写小的应用程序来完成具体工作。 任何一个 MIDlet 都是 的子类,必须继承自。 MIDlet 套件 一个或多个 MIDlet 及其相关资源的集合被称为 MIDlet 套件( MIDlet Suite),它是在目标设备上安装、更新和删除 MIDP 应用程序的基本单位。 MIDlet 套件通常被封装到一个 Java 档案文件( Java Archive File, 即 JAR 文件)中,这在 MIDP 规范中被称为 MIDlet 套件打包。 一个封装 MIDlet 套件的 JAR 文件包含以下元素:实现 MIDlet 的类文件; MIDlet 中用到的所有资源文件;描述 JAR 内容的清单文件( Manifest File)。 此外,每个 JAR 文件还可以配上一个用来描述 MIDlet 套件信息的应用程序描述文件( Java Application Descriptor, JAD)。 MIDP 规范定义了 MIDlet 套件中 MIDlet 的执行环境。 这个执行环境被同一个 MIDlet 套 15 件中所有的 MIDlet 所共享,并且任何 MIDlet 都可以与该套件中的其他 MIDlet 交互。 MIDlet 常用的几种类介绍 (1) MIDP 程序类 MIDlet: MIDlet 是一个虚类,在创建 MIDlet 程序时必须有一个是从MIDlet 派生的类。 MIDlet 的状态的改变见图 5。 图 5 MIDlet 程序的状态转换 (2) Display 类:在 MIDP 中管理用户界面的类只有一个 Display 类,它负责对系统显示和输入设备的管理,最主要的作用是切换在屏幕上显示的窗口。 Display 类是直接从所有类的祖先类 Object 继承而来。 当 MIDlet 程序运行时系统会为其创建一个对应的Display 对象,一个 MIDlet 程序只能拥有一个 Display 对象。 它常用的方法有得到MIDlet 程序当前对应的 Display 对象的 getDisplay、设置当前显示的窗口对象的setCurrent 等。 (3) Command 类:菜单命令类 Command 是最常用的接受用 户输入的方式,用于定义一个单独的命令,设计好的用户界面必须用到它。 一般来说,当按下手机的功能键时,界面上都应该有命令菜单弹出来,由用户选择需要执行的命令。 Command 类也是直接从 Object 类派生下来的。 一个 Command 对象包含三部分信息:标签( label)、类型 (mandType)和优先权 (priority)。 一般来说,需要按照如下要求利用 Command类实现高级事件处理: 1. 创建一个包含事件信息的 Command 对象。 2. 将 Command 对象添加到 TextField、 List、 Form 和 Alert 中。 3. 在 TextField、 List、 Form 和 Alert 对象中建立监听器。 (4) CommandListener 接口:如果要创建 Command 对 象 , 就 必 须 创建 并 实 现CommandListener 接口。 在 MIDlet 中主类一般都有一个监听器,利用它来监听和接受屏幕上的高级事件。 利用 Command 类和 CommandListener 接口实现高级事物处理需要注意几点: 1. 至少要创建一个 Displayable 对象、一个或多个 Command 对象; 16 2. 必须将 Command 对象添加到 Displayable 对象上,实现它们之间的关联; 3. 为 Displayable 对象添加事件监听器,同时还必须实现 CommandListener接口的 mandAction 方法,当一个实现了 CommandListener 接口的对象被添加到窗口对象的命令监听列表后,当菜单被选择时,此方法将会被调用。 MIDP 用户界面设计 MIDP 用户界面 API 有高级和低级之分。 高级用户接口类是一般 UI 的高级抽象,在外观和感觉上提供很少的控制,如字体大小、颜色、类型等都由系统控制实现。 通过这种控制机制,开发人员开发的应用程序不用修改就可以移植到不同的移动计算设备上 ,避免因各个设备支持的颜色、字体不同而需要修改程序。 利用高级用户接口类进行编程,程序员控制能力很弱。 要对设备进行精确控制,就不能利用高级用户接口类进行编程,而必须利用低级用户界面 API。 低级用户界面 API 赋予程序员更多的控制能力,比如在屏幕上画直线( Line)、文本( Text)和各种图形( Shape)。 低级用户界面 API 主要用于游戏程序开发。 Displayalbe 类 在显示设备上显示的用户界面对象为 Displayable 对象,在同一时刻应用程序只能有一个Displayable 对象,通过 Displayable 对象具体完成与用户之间的交互。 可以为 Displayable 对象添加 Command 对象和相对应的监听器,而用户进行交互式通过 Displayable 的子类来完成的。 Displayable 类有两个直接子类: Screen 类和 Canvas 类。 前者为高级用户界面 API 类,后者为低级用户界面 API 类。 利用 Canvas 进行界面设计 由于我们所要做的手机通信簿管理系统用到这里的内容较少,因此之简单介绍一下常用的几个类。 (1) Canvas 类:是一个通过 Displaybale 类派生的虚类。 除了能够完成作图功能, 还允许程序通过重载其他 Canvas 类中的事件处理方法来处理键盘设备和指针设备的输入。 (2) Graphics 类:提供简单的 2D 作图功能。 如在屏幕上画直线( Line)、文本( Text)和各种图形( Shape)。 利用 Screen 进行界面设计 常用的类介绍: (1) Screen 类:被定义为一个虚类,并没有提供实际的功能而只是单纯地作为一个父类。 下面将介绍的 Alert、 List、 TextBox、 Form 都是 Screen 类的派生类。 (2) Alert 类: Alert(警告窗口)对象类似于一个消息框,主要是用来提醒用户上一 个操作的情况或者用来提醒用户对某些操作进行确认。 有 ALARM、 CONFIRM、 ERROR、 17 WARNING、 INFO 几种警告类型可供选择。 (3) List 类: List(列表框 )对象能够提供列表框的功能。 列表框提供单选和复选功能,能够让用户从列表中选取自己需要的选项。 有 EXCLUSIVE、 MULTIPLE、 IMPLICIT三种模式。 (4) TextBox 类: TextBox(文字输入框)对象能够让用户输入文字。 (5) TextField 类:功能和 TextBox 相似,不同的是 TextBox 可以直接显示在显示屏幕上,而 TextField 则必须被添加到 Form 中才能够进行显示。 (6) Form 类与 Item 类: Form 就如同一个容器,在 Form 对象上可以放置多个 Item 对象。 Form 对象类似一个对话框,在它的上面放置多个 Item 派生对象来实现输入和输出功能。 (7) Ticker 类 :,它并不是 Screen 的派生类,也不是一个可以显示的窗口。 是用来实现一条文本连续不断地在屏幕上水平滚动穿过,滚动的速度和方向由具体设备来决定。 持续数据存储 在 J2ME 中,由于设备的资源非常有限,使用传统的方法去实现数据的持久存储是不太现实的。 在 MIDP 中,提供了一 种面向记录的简单数据管理系统 RMS( Record Management System, 记录管理系统)来实现持久存储。 记录管理系统 RMS 概述 在 J2ME 中与数据存储有关的包时:。 包里只定义了一个提供持续数据存储的相关功能的类 RecordStore。 此外包里还定义了 4 个接口,分别是: (1) RecordEnumeration:提供记录文件中记录的遍历功能。 (2) RecordComparator:在进行记录遍历时,自定义记录之间的比较功能。 (3) RecordFilter:在进行记录遍历时,自定义记录的筛选功能,能够按照条件选择适当的。算机网络毕业论文java通信计算机网络(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。