基于j2me的通信簿程序设计苏州技师学院信息工程系20xx届毕业设计论文内容摘要:

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