




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 摘摘 要要 在设计程序架构时,该移动电子辞典的整体系统结构模型按模块进行了划分, 主要分为客户端与服务器两大部分。按照这两部分进行划分的模型使程序中每个模 块的分工很明确,在整个系统中,客户端负责采集数据和显示的工作,对于客户的 输入,客户端会将信息发送至服务端,服务端接收到信息后,会对数据库进行相关 的查询操作,并将结果发送回客户端,客户端再进行处理,从中得到结果。 本文通过 j2me 在手机移动设备应用程序开发方面的发展,并基于 http 协议的 网络通信方面做了一些研究与实现。在设计和开发移动电子辞典这个手机应用程序 中,主要采用 tomcat 服务器作为连通网络的 web 服务器,tomcat 服务器是一个免 费的开放源代码的 web 应用服务器,在中小型系统和并发访问用户不是很多的场 合下被普遍使用。 本应用程序通过 j2me_wireless_toolkit,编译工具对系统的客户端、服务器端 进行开发,并通过与数据库的连接,完成电子辞典的查询功能,在该系统中选择 mysql 数据库,mysql 是一个小巧玲珑的 sql 数据库服务器,其具有的快速、多 线性、多用户和强大的特点,对于中、小型应用系统是非常理想的数据库服务平台。 关键词:关键词:java j2me tomcat 手机应用程序手机应用程序 ii abstract in the design process framework, the mobile electronic dictionary of the overall system architecture model of the module were the main client and server into two major parts. according to the two parts of the model so that each module in the process of division of labor is clear that in the entire system, the client is responsible for collecting data and display the work of the clients input, the client send information to client service, service information received after the termination, will query the database related operations, and send the results back to the client, the client further treatment, get results. through j2me mobile phone equipment in the application development aspects of development, and the agreement on http communications network has done some research and implementation. in the design and development of mobile electronic dictionary in the mobile applications, used mainly as a tomcat server connectivity network of web servers, tomcat server is a free open-source web application servers, and in small and medium- sized systems with access to a user are not many occasions be widely used. this application procedure j2me_wireless_toolkit, compiler tools of the system client, a server-side development, and the connection with the database, complete electronic dictionary queries, the system of choice in the mysql database, mysql is a xiaoqiaolinglong the sql database server, with its rapid, multi-linear, multi-user and powerful features, medium and small application system is ideal database platform. key words: java j2me tomcat mobile applications iii 目录目录 摘 要 i abstractii 引 言1 1 手机移动设备应用程序的综述.2 1.1 手机移动设备应用程序的发展现状2 1.2 j2me 的概述 .2 1.2.1 什么是 j2me2 1.2.2 j2me 总体架构.3 1.2.3 配置概述3 1.2.4 简表概述.4 1.2.5 j2me 目标设备.4 1.2.6 j2me、j2se 与 j2ee 之间的比较.5 1.3 j2me 开发环境 .5 1.3.1 通用开发工具.5 1.3.2 专用开发工具.6 2 j2me 手机应用程序开发的相关技术7 2.1 midp/cldc api 概述7 2.1.1 midp 的类库7 2.1.2 构件.7 2.1.3 用户界面设计(ui)8 2.1.4 设备数据库管理.8 2.2 midp 网络通信简介.8 2.2.1 基于 http 协议的网络通信11 iv 2.2.2 基于 socket 协议的网络通信11 3 移动电子辞典程序结构、思想和相关技术.12 3.1 程序需求分析.12 3.2 程序概要设计.13 3.2.1 服务器端概述.13 3.2.2 客户端概述14 3.2.3 移动电子辞典程序的基本架构.14 3.3 程序详细设计17 3.3.1 公用类结构.17 3.3.2 客户端的类结构.18 3.3.3 服务器界面的类结构.21 3.3.4 数据库部分的设计.24 4 程序分析和具体实现27 4.1 程序的界面模块的设计与实现27 4.1.1 程序中用到的主要类的介绍.27 4.1.2 移动电子辞典的进入界面.28 4.1.3 移动电子辞典的菜单界面.30 4.2 移动电子辞典管理模块31 4.2.1 生词本的管理.31 4.2.2 客户端字典服务地址设计32 4.3 服务器端程序的实现34 4.3.1 服务器端接口定义.34 4.3.2 服务器端接口的实现.34 4.4 客户端与服务器端的交互.37 4.4.1 serlet 的功能与运行 37 v 4.4.2 客户端获得和处理数据.37 4.4.3 服务器与客户端的连接.39 5 软件测试41 5.1 打包测试的过程.41 5.2 系统测试42 5.2.1 服务器登录部分测试42 5.2.2 客户端登录部分测试.43 5.2.3 客户端辞典菜单部分测试.43 6 总结与展望.44 6.1 手机移动电子辞典的设计回顾.44 6.2 j2me 的开发经验总结.44 6.2.1 设计开发小型设备应用程序要注意的事项.44 6.2.2 设计开发移动设备应用程序的注意事项.45 6.2.3 性能注意事项.45 6.2.4 编译注意事项.45 6.2.5 打包和部署注意事项.46 6.3 下一步研究工作.46 结 论47 致 谢48 注 释49 参考文献50 - 1 - 引引 言言 随着移动电话等无线通信设备数量的戏剧性增长和功能逐渐成热,对运行 在这些设备上的应用程序的需求也越来越大。消费者和企业都需要将移动通信 设备的功能从语音通信扩展到运行在膝上型计算机和 pc 上的传统应用程序。 他们想要收发电子邮件,存取私人信息,进行复杂的计算,甚至玩游戏。 因为机器翻译的核心组件就是双语电子辞典或称“机读辞典”。然而,由于 受当时电子技术的限制,电子辞典的发展一度十分缓慢,直到 2o 世纪 9o 年代 才得以普及。目前,电子辞典的研究和开发方兴未艾,进入了空前繁荣的时期。 电子辞典是以光盘、磁盘及芯片等光电磁介质作载体,并可借助微型处理器及 相关设施进行查询和阅读的辞书。它是存储在电子媒体上的语言知识库,包括 词的语义属性、句法属性和语用属性。从存储介质的角度来看,广义的电子辞 典包括各类光盘词辞典、芯片辞典、网络辞典和(语言或文字处理系统中的)机 载辞典,而狭义的电子辞典一般指光盘辞典和芯片辞典。 社会是个不断进步的社会,人们的知识水平也不断的提高,所以如果想要 跟的上社会发展的潮流就必须不断的学习,现在的世界对外语的需求也不断的 增长,所以学习外语也是刻不容缓的,这工具要有一定的特点,比如携带方便, 可以不受地理位置等的限制,那么手机上安装一个高容量的电子词典就很重要 恶劣,这个词典还有很多一般的词典没有的功能,比如可以自动的换词放页等, 此时,移动电子辞典也与此同时得到了很好的发展与应用。 论文主要内容: 1)叙述手机应用程序开发的发展现状和 j2me 的相关规范和开发工具。 2)描述 j2me 手机应用程序的相关技术和解决方案。 3) 分析移动电子辞典的整体体系结构和程序运行流程。 4)分析移动电子辞典各个模块的功能实现。 5)详细分析移动电子辞典的实现方法与程序分解。 6) 使用 wtk 开发平台对系统进行调试,并打包进行测试。 7) 回顾该移动电子辞典开发过程中的遇到的难题,并提出下一步工作需 解决的问题。 8)阐述开发过程、心得体会、经验和感想。 - 2 - 1 手机移动设备应用程序手机移动设备应用程序的综述的综述 随着手机在中国的普及与发展,现在手机已经成为人们生活的焦点,所以 一些关于手机的行业飞速发展开来,于是,设计手机也成了一个新的技术行业。 而 java 本身就是非常流行的面向对象设计语言,在 java 中的两大方向是 j2ee 和 j2me。其中 j2me 是目前 java 最闪亮的技术,其实 j2me 就是把 java 微型化应用,即 java 在微型化产品中的应用。而在众多微型化产品中, 手机成了当今社会上最流行的产品。所以关于手机程序的开发,成为 java 的 最重要应用。 手机成了电脑之外的网络主导。网络中电脑之外的手机,本身就是一个很好 的可以利用的媒体,所以目前开发手机应用程序成了当今市场的热点,也随着目前 国内手机用户的普及,做手机程序是一个很好的前景产业,也是计算机软件行业中 一个必不可少的组成部分。 1.1 手机移动设备应用程序的发展现状手机移动设备应用程序的发展现状 在高速发展的信息时代,作为个人信息交互的终端,手机已成为人们生活,学 习,工作中不可缺少的一部分。传统的手机只有黑白文本显示屏并且只能收发 语音和短信息。今天,手机已开始向融合电话,电脑和相机功能的智能收集方向 发展。很多智能手机在软,硬件上都具有极高的配置:32mb 以上内存、133mhz 的 cpu、65 万色 tft 的显示屏、内置摄像头和蓝牙(bluetooth)接口,支持 触摸屏和存储卡扩充,内置浏览器和多媒体播放器,支持多媒体短信服务 mms(multimedia messaging service)和移动流媒体视频业务,支持 wap 技术。 智能手机不仅能通话,拍照,拍摄录像,发信息和彩信,而且能在手机上随时 随地观看电视新闻,欣赏电影 mtv、mps 和各种在线影视及音乐,玩各种新 颖丰富的 3d 游戏和网络游戏,用 msn 和 qq 进行在线聊天,登陆 www 网 站,阅读新闻和电子邮件和电子地图,查看实时股市行情,查看航班动态和订 购机票,收发电子邮件,创建文件,数据表和演示文稿等,当然也有方便我们 学习的移动电子辞典,他们所提供的移动办公解决方案使得专业人士即使在旅 途中也能有效地利用时间1。 1.2 j2me 的概述的概述 1.2.1 什么是什么是 j2me sun microsystems 将 j2me 定义为“一种以广泛的消费性产品为目标的高 - 3 - 度优化的 java 运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒 和汽车导航系统。 ” 自从 1999 年 6loper conference 上声明之后,j2me 为小型设备带来了 java 语言的跨平台功能,允许移动无线设备共享应用程序。有了 j2me,sun 已经使 java 平台能够适应集成了或基于小型计算设备用在 javaone deve 的用 户产品。 1.2.2 j2me 总体架构总体架构 j2me 使用配置和简表定制 java 运行时环境 (jre)。作为一个完整的 jre,j2me 由配置和简表组成,配置决定了使用的 jvm,而简表通过添加特 定于域的类来定义应用程序。 配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的 特定 jvm。 简表定义应用程序;特别地,它向 j2me 配置中添加特定于域的类,定义 设备的某种作用。下面的图表描述了不同的虚拟机、配置和简表之间的关系。 它同时把 j2se api 和它的 java 虚拟机进行了比较。虽然 j2se 虚拟机通常 被称为一种 jvm,但是 j2me 虚拟机、kvm 和 cvm 都是 jvm 的子集。 kvm 和 cvm 均可被看作是一种 java 虚拟机 - 它们是 j2se jvm 的压缩 版,并特定于 j2me。 如图 1-1 所示: 图图 1-1 j2me 总体架构总体架构 - 4 - 1.2.3 配置概述配置概述 配置将基本运行时环境定义为一组核心类和一个运行在特定类型设备上的 特定 jvm。虽然还可能在将来定义其他的配置,但当前 j2me 存在两种配置: 连接限制设备配置 (cldc) 特别与 kvm 一起用于内存有限的 16 位或 32 位设备。这是用于开发小型 j2me 应用程序的配置(虚拟机) 。 (从开发的 角度来看)它的大小限制让它比 cdc 更有趣、更具挑战性。cldc 同时还是 用于开发绘图工具应用程序的配置。 palm 电脑便是一个运行小应用程序的小 型无线设备的示例。 连接设备配置 (cdc) 与 c 虚拟机 (cvm) 一起使用,用于要求内存超 过 2 兆的 32 位体系结构。互联网电视机顶盒便是这类设备的一个示例。 1.2.4 简表概述简表概述 简表定义了应用程序所支持的设备类型。特别地,它向 j2me 配置添加了 特定于域的类来定义设备的某种作用。简表建立在配置的顶部。已经为 j2me 定义了两种简表:kjava 和移动信息设备简表 (midp),它们也被建立在 cdlc 上。这两种简表适用于小型设备。有一种纲要简表,您可以在它的上面 创建自己的简表,这种纲要简表也称为基础表,可供 cdc 使用。 下面介绍一下几种常见的简表: midp (mobile information devices profile,移动信息设备简表):定义了移 动信息设备的类型和提供相关的 api 集合, midp 所定义的功能更加面向用 户,而且比 cldc 更高级。 imp(obile information device profile,信息模块简表):定义了提供网络 连接,但是显示方式比较单一的设备简表,例如告警器。 foundation profile(基础简表):提供除了用户界面以外的 j2se 所能够提供 的标准类库。 personal profile(个人简表):针对那些资源相对有限,但是对网络访问要求 很高,基于 awt 图形界面的设备,例如 web-tv、汽车导航系统等。 1.2.5 j2me 目标设备目标设备 使用 cldc 开发的 j2me 应用程序的目标设备通常具有以下特征: 可供 java 平台使用的 160 到 512 千字节的总内存 功率有限,常常是电池供电 网络连通性,常常是无线的、不一致的连接并且带宽有限 用户接口混乱,程度参差不齐;有时根本就没有接口 - 5 - 一些 cldc 支持的设备,包括无线电话、寻呼机、主流个人数字助手 (pda),以及小型零售支付终端。 依照 sun microsystems,cdc 的目标设备通常具有以下特征: 使用 32 位处理器 2 兆字节或更多可供 java 平台使用的总内存 设备要求的 java 2 “蓝皮书”虚拟机的全部功能 网络连通性,常常是无线的、不一致的连接并且带宽有限 用户接口混乱,程度参差不齐;有时根本就没有接口 一些 cdc 支持的设备,包括常驻网关、智能电话和通讯器、pda、管理 器、家用电器、销售网点终端以及汽车导航系统。 1.2.6 j2me、j2se 与与 j2ee 之间的比较之间的比较 下面的图表描述了支持 j2me 应用程序的设备,同时说明了 j2me 适合 java 平台之处, 如图 1-2 所示: 图图 1-2 j2me、j2se 与与 j2ee 之间的比较之间的比较 1.3 j2me 开发环境开发环境 1.3.1 通用开发工具通用开发工具 j2me 技术针对的开发领域是支持 java 的各种嵌入式设备,j2me 技术针 对手机的开发环境种类众多,根据这些工具的适用范围,可以分为两大类: - 6 - 通用开发工具是指不针对特定型号手机的开发工具。例如 sun 公司的 j2me 开发工具 j2me wireless toolkit,j2me 无线工具包。 该开发工具适合 j2me 技术的学习和开发所有手机都适用的通用手机程序, 在实际的开发过程中,一般使用该工具开发界面通用的手机应用软件。 1.3.2 专用开发工具专用开发工具 由于每个手机厂商的手机在实现时都存在一定的不同,例如支持的 api 种 类不同,屏幕的大小以及手机按键键盘的键值不同,所以主流的厂商都提供了 专门的开发工具,这些工具的实现和该厂商真实的手机实现更加接近,而且在 各种参数,例如手机屏幕大小和键值上和真机保持一致。 所以在实际的开发过程中,特别是手机游戏的开发中一般都使用对应厂商 的专用开发工具进行实际的开发,这样在模拟器中模拟时,可以更加贴近真实 的手机。 - 7 - 2 j2me 手机应用程序开发的相关技术手机应用程序开发的相关技术 2.1 midp/cldc api 概述概述 由于 midp/cldc api 将在一个性能有限的设备上运行,因此 java 的一些 功能被移除或者修改。 2.1.1 midp 的类库的类库 如上所述,sun 在 cldc 配置之上定义了 midp 层,用以提供对用户界面 (user interface,ui)、永久存储介质(persistinace storage)和网络等支持。下面, 我们来看看 midp 的类库。 midp 由四个 javax.microedition 包组成,包括: javax.microedition.rms:关于永久存储介质(rms 即 record management system)。 javax.microedition.midle:定义了 midlet 的框架,以及 midlet 与环境的交 互。 javax.microedition.io:提供网络支持。 javax.microedition.lcdui:关于用户界面(ui 分为 high level 和 low level 两 种 api)。 2.1.2 构件构件 midp 简表和 cldc 配置组合起来,为创建移动电话和简单双向寻呼机上 的应用程序提供了完整的开发环境。 midp 框架的核心是一个 midlet 应用程序。这个应用程序继承了 midlet 类,以允许应用程序管理软件对 midlet 进行控制、从应用程序描述检索属性以 及对状态变化进行通知和请求。所有 midlet 都继承 midlet 类运行时环境 (应用程序管理器)和 midlet 应用程序代码之间的接口。midlet 类提供了用于调 用、暂停、重新启动和终止 midlet 应用程序的 api。应用程序管理软件可以在 运行时环境内管理多个 midlet 的活动。此外,midlet 可以自己发出一些状态 变化,并把这些变化通知给应用程序管理软件。 midp api 类的完整集合可以分为两个类别: 用于用户界面的 midp api:设计这些 api 是为了能以一系列屏幕显示为 基础,与用户进行交互操作,每一屏幕显示适量的数据给用户。这些 api 允许 应用程序决定下一屏显示什么、执行什么、计算和使用网络服务的何种请求。 用于处理数据库的 midp api:这些 api 负责组织和操作设备数据库,这 个数据库由在 midlet 的多个调用之间跨越时保持持久的信息组成。底层的 - 8 - cldc api 用于处理字符串、对象和整数。还提供了 java 2 api 的一个子集, 用于处理 i/o 和网络通信。 2.1.3 用户界面设计用户界面设计(ui) midp api 尽管维护的是一个受限的框架,但它还是提供了用户界面元素 的完整集合。以下是最重要的 ui 元素: alert:用于在屏幕上显示异常情况或错误的信息。 choice:用于实现从既定数量的选项中进行选择。 choicegroup:提供一组相关选项。 form:作为其用户界面元素的容器。 list:提供一个选项列表。 stringitem:只显示字符串。 textbox:允许用户输入和编辑文本的屏幕显示。 textfield:允许用户输入和编辑文本。多个 textfield 可放到一个 form 中。 datefield:是一个可编辑的组件,用于表示日期和时间信息。datefield 可 以放到 form 中。 ticker:用于文本的可滚动显示。 2.1.4 设备数据库管理设备数据库管理 midp 简表提供了一组用于组织和操作设备数据库的类和接口: recordstore、recordcomparator 和 recordfilter。recordstore 由大量的记录组成, 这些记录在 midlet 的多个调用之间跨越时保持持久。对 recordstore 中的记录 进行比较,或者从 recordstore 中抽取若干组记录,都是 recordcomparator 和 recordfilter 接口提供的功能3。 2.2 midp 网络通信简介网络通信简介 对于手机程序而言,天生就具备通过网络通信的功能,这是由于手机作为 通信工具这一自身的特点所决定的。 midp profile 所包括的网络支持源于 cldc 规范中的通用连接框架 (genericconnection framework,gcf) 。由于手机受自身资源所限,不可能照搬 java.io 和 包,所以创建了 gcf 以使基于 cldc 的 javax.microedition.io 包中唯一的一个类 connector 类为这些接口对象的创建提供了静态工厂方法。 cldc 的 javax.micedition.io 包的接口层次结构如图 2-1 所示: - 9 - 图图 2-1 cldc 的的 javax.microeditoon.io 包的接口层次结构包的接口层次结构 随着现代信息化社会的发展,小型移动通信设备已经从最初的一种单纯的 通信工具转变成如今集通信、工作、娱乐等功能为一体的综合设备;但仅有这 些还不能满足用户的要求。个性永远是千变万化的,时尚也不会始终为一种模 式。因此,在移动终端上开发通用的、丰富的应用已成为必然的趋势。这些应 用可以按用户的意愿随时安装和删除。 j2me(java2microedition)正是这样一种 java 应用开发平台。实际上, java 语言从其诞生起就以其运行的平台无关性这一强大的优势而成为网络应 用的宠儿。j2me 是 java2 标准版本的微型版本,专门为小型移动设备所设计。 这些设备处理器的处理能力都不强,可使用的资源也有限。因此,j2me 只包 含了 j2se 中在移动通信设备上所必需的功能和组件,使其能够在移动设备及其 有限的资源上开发出丰富多彩且平台无关的应用。j2me 在结构上分为 cdc(connectedeviceconfiguration)和基于其上,以 foundationprofile 为主的 规范,以及 cldc(connectelimiteddeviceconfiguration)和基于其上,以 midp 为主的规范。 midp(mobileinformationdeviceprofile)是移信息设备规范的简称。规范 具体定义了 j2me 适用的硬件和软件框架,并提供了这个框架要实现的基本功 能及其标准接口;而应用开发者就可以基于这个框架开发出各种应用。2000 年 9 月,sun 公司发布了 midp 的第一个正式版本 midp1.0。它将 j2me 适用的 设备定位在至少拥有数百 kbram 和 rom,并具有基本网络和显示功能的移 动通信设备上;在该基础上定义了一系列软件接的移动通信设备上;在该上基 connection streamconnectionnotifierinputconnectionoutputconnectiondatagramconnection streamconnection contentconnection - 10 - 础上定义了一系列软件接口,其中包括基本输入输出、图形化用户接口(gui) 、 网络、事件机制、文件系统、应用管理系统(ams)等之后,随着 java 技术 的不断发展和用户需求的不断提高,sun 公司又于 2002 年 11 月发布了 midp2.0。它对设备的内存资源和处理能力的要求较 1.0 要高,但 midp2.0 也 为应用开发者提供了更方便、更丰富多彩的软件包,主要增加了游戏接口的实 现、声音输出接口的实现安全网络机制的实现。midp2.0 的这些特性将使基于 移动设备的 java 应用具有更加广阔的前景,也必将使新一代的移动设备发生 革命性的变化并领导时尚潮流。midp2.0 接口包2 midp2.0 接口包及其功能包功能 javax.microedition.lcdui 提供一系列用户界 面接口 javax.microedition.lcdui.game 专门用于游戏设计的接口, javax.microedition.rms 数据管理,用于保存数据记录, javax.microedition.midletjava 应用管理接口,javax.microedition.io 基本网络连接 接口 javax.microedition.media 媒体接口规范(jsr-135)的实现包, javax.microedition.media.control 媒体播放器的控制类 javax.microedition.pki 数字 签名规范的实现接口(用于安全网络)java.iojava 基本输入输出接口, java.langjava 基本数据类型接口 java.utiljava 基本应用接口 从图中可以看出,connection 接口是 cldc 的 javax.microedition.io 包中的 接口的父类,这个类中只有一个 close()方法用于关闭网络连接。 在 midp 中,gcf 得到了扩展,扩充了更多的接口,midp 的 javax.microedition.io 包的接口层次结构如图 2-2 所示: connection streamconnectionnotifi er datagramconnetction inputconnetctionoutputconnetction seversocketconnectionstreamconnetctionudp datagramconnetction contentconnetctionsocketconnetction httpconnetction - 11 - 图图 2-2 midp 的的 javax.microedtion.io 包的接口层次结构包的接口层次结构 2.2.1 基于基于 http 协议的网络通信协议的网络通信 生活中最常杰出的网络协议是 http 协议。再 midp 的 gcf 中,使用 httpconnection 接口实现基于 http 协议的网络通信。 2.2.2 基于基于 socket 协议的网络通信协议的网络通信 socket 协议是一种比较灵活方便的网络通信协议,采用服务器-客户端的请 求-应答模式。利用 socket 协议可以开发比较富有弹性的网络通信程序,但 socket 协议不是 midp2.0 中要求必须支持的,开发时必须注意目标机型是否支 持 socket 协议。 - 12 - 3 移动电子辞典程序结构、思想和相关技术移动电子辞典程序结构、思想和相关技术 3.1 需求分析需求分析 micro dictionary 是在手机等有限连接设备上的英汉字典服务。用户在手机 客户端输入要查找的英文单词,通过连接指定的 web 服务,得到该单词的释义。 我们需要完成一个服务器程序,提供单词查询的服务,作为终端设备的服 务器,可以使用 servlet 来完成。 客户端的实现是这个应用的演示重点,为了演示 j2me 平台上的其他一些技 术,比如信息存储,这里我增加了生词本的功能。 整个应用要实现的功能比较简单,下面是其用例图,如图 3-1, 3-2 所示: 图图 3-1 手机客户端用例手机客户端用例 图图 3-2 服务器端用例服务器端用例 具体需求如下所示: 1.移动电子辞典程序是一项精度要求很高的程序系统,因为其代码利用率 - 13 - 很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、 键盘事件都会以极高的频率在后台等待响应,因此程序的可靠性极为重要。 2.程序的界面:作为客户端程序需要有良好的图形用户接口,也就是说良 好的用户界面,用户可以方便地使用程序,本程序设计使用高级用户界面重新 实现菜单。 3.辞典查询界面:查询界面也是客户端所完成的显示,简单实用而且清晰 的查询界面,会使用户的操作更具效率。 4.移动电子辞典的功能设计:一个应用程序的开发实现,最重要的便是我 们所设计实现的系统能够完成怎样的功能,为了实现这些功能,才能据此设计 编写相应的程序代码。 5.服务器程序的设计:作为系统的服务器端,结果是否可以得到是这个设计 的关键所在,编写符合要求的程序成为这个设计的重点。 6.数据库的设计:移动电子辞典的设计,不仅要求拥有客户端以及服务器端的 完美设计,为了实现其辞典查询功能,首先要求这个辞典具有一个大的字典库,这 样才能通过服务器的连接,得到想要查询词语的相应解释,这便需要我们在这里要 设计一个实用而又符合需要的数据库系统,在此我选择了 mysql 数据库作为系 统的后台数据库。 3.2 概要设计概要设计 整个程序分为客户端和服务器端两部分,客户端基于 java me 技术,服务 器采用数据源和 web services 技术提供服务,程序的服务器端主要应用 tomcat 服务器,后台使用 mysql 数据库。在整个系统中,客户端负责采集数据和显 示的工作,对于客户的输入,客户端会将信息发送至服务端,服务端接收到信 息后,会对数据库进行相关的查询操作,并将结果发送回客户端,客户端再进 行处理,从中得到结果。 3.2.1 服务器端概述服务器端概述 服务器端程序,主要提供单词查询的服务,作为终端设备的服务器,可以 使用 servlet 来完成。servlet 是用 java 编写的服务器程序,是由服务器调用和执 行的、按照 servlet 规范编写的 java 类。servlet 程序是使用 servletapi 中的相 关类和接口的 java 程序。servlet 程序可以处理客户端传来的 http 请求,并返 回响应。 servlet 是一种基于 web 组件的 java 技术,由容器管理,产生动态内容。像 其他基于 java 的组件一样,servlet 是不依赖平台的的 java 类,被编译为中间字 - 14 - 节码,可被动态装载运行于支持 java 的 web 服务器上。这里说的容器,有时也 称它为 servlet 引擎,提供 servlet 功能的 web 服务器扩展,servelt 通过一种由 servlet 容器实现的 request/response 范式(paradigm)与 web 客户机交互。 3.2.2 客户端概述客户端概述 在对于本课题的开发,后台使用 mysql 数据库,来完成词库的存储功能。 mysql 是由 mysql 公司推出的开放源代码的关系型数据库服务器,可以 运行在多种平台上。mysql 是一个小巧玲珑的 sql 数据库服务器,其具有的 快速、多线性、多用户和强大的特点,对于中、小型应用系统是非常理想的数 据库服务平台。在 mysql 数据库上用 sql 语言为一个网站检索产品及存储顾 客信息、存储记录文件和图象,使其能够得到足够快的反应速度和灵活性。 mysql 还提供了 odbc 和 jdbc 驱动程序,使前端应用可以很方便地访问 mysql 数据库,因此,mysql 数据库被认为是数据库驱动的动态网站的最佳 产品。 3.2.3 移动电子辞典程序的基本架构移动电子辞典程序的基本架构 移动电子辞典程序基本架构如图 3-3 所示: 客户端 服务器端 图图 3-3 移动电子辞典程序的基本架构移动电子辞典程序的基本架构 辞典装载 词条管理 词语查询 查询界面 添加界面 显示界面 获取词典文件 mysql 数据库 命令监听 器 用户命令输入 - 15 - 1移动电子辞典管理模块 “辞典装载”负责将 mysql 数据库中的辞典载入到内存中,供用户进行查询。 “词条查询”负责词语的查询过程,根据查询内容,利用 mysql 数据库得 到相关词语的解释。 “词条管理”负责向辞典中添加用户指定的词条,实现生词本功能。 2界面显示模块 “查询界面”负责接收用户查询的内容。 “显示界面”负责显示用户查询到的词条信息。 “添加界面”负责接收用户向辞典中添加词条信息。 服务器端部分各类之间的调用关系如图 3-4 所示: 图图 3-4 服务器端关系类图服务器端关系类图 客户端部分各类之间的调用关系如图 3-5 所示: - 16 - 图图 3-5 客户端类关系图客户端类关系图 服务器与客户端的连接关系如图 3-6 所示: 由以上三部分内容共同实现移动电子辞典的可操作性,具体流程如图 3-7 所示: 主菜单 菜单选择 移动电子辞典客户端 发 出 请 求 返回信息 数据包 数据包 服务器 tomcat 检验所接 收到的客 户端指令。 将结果通 过数据包 由服务器 返回给客 户端 图图 3-6 c/s 连接关系连接关系 图 mysql 数据 库 - 17 - 图图 3-7 进入移动电子辞典系统的流程图进入移动电子辞典系统的流程图 3.3 详细设计详细设计 3.3.1 公用类结构公用类结构 客户端和服务器端的公用类jcase.microdit.word。这个类是个简单的 javabean,只有三个属性:要查的词word,音标phonetisymbol 以及关于 这个词的对应解释commentates。其中,前两个属性都是 string 类型,对应 解释则是一个集合。word 的 tostring()方法将单词、音标和对应解释拼成一个 字符串,便于显示和传输。如图 3-8 所示: 输入需要查询 的词语 启动网络 发送数据 连接 web 获得词语信息 查看内容 - 18 - javax.microedition.midlet.midlet java.io java.lang javax.microedition.lcdui midlet displayable exception exp 图图 3-8 公用类的类图公用类的类图 表表 3-1 公用类变量声明公用类变量声明表表 变量名类型描述 phoneticsymbolstring要查的单词 wordstring对应单词的音标 commentatesto string相应词语的解释 表表 3-2 公用类方法函数说明表公用类方法函数说明表 方法函数名功能描述 parse完成剖析功能 tostring返回一个对实例字符的引用 3.3.2 客户端的类结构客户端的类结构 1.客户端主类结构客户端主类结构 程序的主类 midlet 类确保在运行环境中应用程序的必要方法在适当的实际 被执行。midp 定义了 midlet 的生命周期的三种状态:startapp()和 destroyapp(). 以及 pauesapp()。通过这三种状态促使每个模块发挥所具有的功能。 如下图 3-9 所示: - 19 - startapp():void pauseapp():void destroyapp():void dictlet():void commandaction():void run():void mainscreen():void choosescreen():void dictlet midlet midlet display: display title:string exitcommand:command lookupcommand:command testcommand:command choosecommand:command setcommand:command savecommand:command okcommand:command canclecommand:command addtextbox:textbox list:list wordtf:textfield mainform:form comment:stringitem fisttime:boolean gauge:gaugerunnable dictlet 图图 3-9 客户端主类图客户端主类图 表表 3-3 客户端主类变量声明客户端主类变量声明表表 变量名类名(类型)描述 dictletmidletmidlet程序的主函数控制程序的开始,暂停和结束。 displaydisplay提供在移动设备上显示组建的功能。 exitcommandcommand退出命令 lookupcommandcommand查找命令 testcommandcommand测试命令 string object stringbuff er - 20 - choosecommandcommand选择命令 setcommandcommand发出请求命令 savecommandcommand保存命令 addtextboxtextbox添加命令 listlist提供一个选项列表 表表 3-4 客户端主类方法函数说明表客户端主类方法函数说明表 方法函数名功能描述 dictletmidlet此函数为主函数,用来整个程序的运行和调用. startapp用于程序的运行状态 pauseapp用于程序的暂停状态 destoryapp用于程序的销毁状态 run用于程序的运行 commandaction用于指挥程序的执行 2.客户端客户端 newwordbook 类结构类结构 客户端 newwordbook 类,提供管理生词本的功能,该类的实现主要应用 add()、delete()、list()方法函数,在此实现的生词本的增加、删除、以及菜单管理 功能。客户端 newwordbook 类结构图如下图 3-10 所示: - 21 - 图图 3-10 客户端客户端 newwordbook 类结构类结构 表表 3-5 客户端客户端 newwordbook 类方法函数说明表类方法函数说明表 方法函数名功能描述 add对生词本的内容进行增加 delete对生词本的内容进行删除 list生词本的内容清单 - 22 - 3.客户端客户端 service 类结构类结构 客户端 service 类结构如图 3-11 所示: 图图 3-11 客户端客户端 service 类结构类结构 表表 3-6 客户端客户端 service 类方法函数说明表类方法函数说明表 方法函数名功能描述 getservicelocation得到服务器的位置信息 setservicelocation释放服务器的位置信息 3.3.3 服务器界面的类结构服务器界面的类结构 服务器端程序的关系类结构如下图 3-12 所示: - 23 - 图图 3-12 服务器端程序的关系类结构服务器端程序的关系类结构 1.服务器端 dictionary 类结构 服务器端定义了一个接口 dictionary,其中有一个方法 lookup(java.lang.string) ,用于查找相应的单词的解释。如图 3-13 所示: 图图 3-13 服务器端服务器端 dictionary 类图类图 - 24 - 表表 3-7 服务器端服务器端 dictionary 类方法函数说明表类方法函数说明表 方法函数名功能描述 lookup用于字典的查询功能 2.服务器端 jdbcdictionary 类结构 下面提供了 dictionary 接口的一个实现 jdbcdictionary,从数据库查找单词, 如图 3-14 所示: 图图 3-14 服务器端服务器端 jdbcdictionary 类图类图 - 25 - 表表 3-8 服务器端服务器端 jdbcdictionary 类方法函数说明表类方法函数说明表 方法函数名功能描述 lookup用于字典的查询功能 getconnection获得连接的地址 3.3.4 数据库部分的设计数据库部分的设计 数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏 将直接对应用系统的效率,以及实现的效果产生影响.合理的数据库结构设计可以 提高数据存储的效率,保证数据的完整和一致。 数据库设计是要在一个给定的应用环境(dbms)中,通过合理的逻辑设 计和有效的物理设计,构造较优的数据库模式、子模式,建立数据库和设计应 用程序,满足用户的各种信息需求。 mysql 是以客户机/服务器结构实现的,它由一个服务器守护程序 mysqld 和很多不同的客户程序和库组成。除了支持标准的 ansi sql 语句外,最重要 的是,它还支持多种操作系统平台,这一点对于托管服务器方式建设、运行的 internet 网站,是非常方便和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修施工技术创新分析-洞察及研究
- 绿色生态服务区设计-洞察及研究
- 救助政策与社会心态研究-洞察及研究
- 螺旋藻基复合材料抗生物污染-洞察及研究
- 能源消耗行为分析方法-洞察及研究
- 劳动合同与劳务合同的区别及适用场景分析
- 机器学习课程协同教学模式创新实践
- 环境维护服务协议
- 转运工安全考试题及答案
- 专升本自测考试题及答案
- 小阿力的大学校(绘本)
- 北京市大兴区2024-2025学年八年级上学期期中语文试卷(含答案)
- 《人工智能基础》课件-AI的前世今生:她从哪里来
- 颈动脉疾病超声检查-课件
- 血液透析高钾血症的护理查房
- ISO28000:2022供应链安全管理体系
- 大学生职业生涯规划与就业指导(全套)
- 人工智能应用基础(高职)全套教学课件
- 蜜蜂公司创业计划书
- 硅灰石市场需求分析报告
- 外研版-高一英语单词表-必修一默写纠正打印版-实用见效
评论
0/150
提交评论