智能手机词典界面设计-毕业论文.doc

上传人:滴答 文档编号:1272732 上传时间:2019-01-25 格式:DOC 页数:45 大小:412KB
下载 相关 举报
智能手机词典界面设计-毕业论文.doc_第1页
第1页 / 共45页
智能手机词典界面设计-毕业论文.doc_第2页
第2页 / 共45页
智能手机词典界面设计-毕业论文.doc_第3页
第3页 / 共45页
智能手机词典界面设计-毕业论文.doc_第4页
第4页 / 共45页
智能手机词典界面设计-毕业论文.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、厦门大学本科毕业论文 第 1 页 本科毕业论文 (科研训练、毕业设计 ) 题 目:智能手机词典界面设计 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师(校内): 职称: 指导教师(校外): 职称: 年 月 日 厦门大学本科毕业论文 第 2 页 智能手机词典界面设计 摘要 本文主要论述本人在北京根基科技有限公司参与毕业实习期间对自己所负责的智能手机词典查询结果界面的设计。根基科技在 PC 平台上已有相当成熟的英汉双解词典,实习的 目的即把这套词典经过加工精简并且加入与手机设备相对应的新功能,将之移值到手机、PDA 等小型移动设备上来。该项目 根据 J2M

2、E 标准,完全采用 JAVA 语言编写,极大地增强了软件的可移植性。共有 六个人分工 合作 完成 该软件 ,本人负责编写查询结果界面程序, 即用户在输入了欲查内容后如何以用户满意的方式显示查询结果, 本文也正是这部分程序的详细设计说明书 , 按照软件工程详细设计说明的要求 分别从需求,设计,算法 ,测试 等方面详述了整个设计过程, 阐明了程序已有的功能和预留接口的可扩展功能, 并附有完整的 JAVA文档以及源代码 。 关键词 手机词典 J2ME 界面设计 双重缓冲 初级用户接口设计 厦门大学本科毕业论文 第 3 页 THE USER INTERFACE DESIGN OF SMART DICT

3、IONARY ON CELLPHONES Abstract: This thesis is mainly about the user interface design of smart dictionary on cellphones. Its part of the project we make when I work in Basemicro Company. Im in charge of this part. BaseMicro Company has already had very good English Dictionary products on the platform

4、 PC.Our purpose is making use of existed product and adding some new features to produce a new smart dictionary which can be run on mobile devices.This project shoud be followed the standard of J2ME,because it is coded absolutely by Java.It enhance the ability that transplanting the program from one

5、 device to another device without modification.This thesis which follows the requirement of software engineering expatiates the processs of requirement analysis,detailed design, arithmetic analysis and test.It also indicates the extended function the program has. At the end of the thesis we can see

6、the java document and the sound code in the addenda. Key Word: the dictionary on cellphone J2ME interface design duple cushion 厦门大学本科毕业论文 第 4 页 目 录 1 引言 第 5 页 2 总体设计 第 5 页 2.1 需求概述 第 5 页 2.2 软件结构 第 6 页 3 程序描述 第 8 页 3.1 功能 第 8 页 3.2 性能 第 9 页 3.3 输入项目 第 10 页 3.4 输出项目 第 11 页 4 算法 第 12 页 4.1 坐标计算 第 12 页

7、 4.2 双重缓冲 第 13 页 4.3 双向链表存储信息包 第 14 页 5 流程逻辑 第 15 页 6 接口 第 19 页 7 限制条件 第 19 页 8 测试要点 第 20 页 9 尚未解决的问题 第 22 页 10 结 论 第 23 页 11 致谢语 第 23 页 参考文献 第 23 页 附录 第 24 页 附录一 程序文档 第 24 页 附录二 程序源代码 第 31 页 厦门大学本科毕业论文 第 5 页 1 引 言 本论文为智能手机词典 查询结果 界面的详细设计说明书,是本人在北京根基 科 技 有限 公司参与开发智能手机词典 所负责的程序设计说明,主要阐述在开发手机词典中的查询结果界

8、面部分的设计思路、算法、功能扩展以及程序的具体结构、输入输出等。程序全部采用 JAVA语言编写,符合 J2ME 标准。目前全球五大手机厂商都已宣布将 JAVA 加入新手机的规格之中, JAVA 手机是未来的趋 势 ,这主要归功于 JAVA 程序良好的可移植性, 同一个 JAVA 手机程序只要经过很少的修改或者完全不用修改就可以在不同规格的手机上使用, JAVA 虚拟机的魅力在此 显现。同时,符合 J2ME 标准的 JAVA 程序非常适合编写手机等移动设备的应用程序,特别是在手机游戏方面的应用已经极为普遍了。鉴于这些优点,公司决定采用 JAVA 来移值其在 PC 平台的英汉双解词典移值到手机平台

9、上。在界面的编写中,由于对于按键响应事件,显示方式的特定需求,所以没有使用已有的 窗体、文本框等 控件,而是 完全 采用初级用户接口即底层图形接口来设计界面, 即屏幕上显示的所有部件全是程序“画”出来的,这些图形的绘制完全采用相对坐标,可以自适应不同的手机屏幕尺寸,在程序中为了防止屏幕闪烁使用了双重缓冲技术,同时为了预 留了大量接口 满足新功能扩展,可在彩屏、灰屏手机上显示不同的效果。 2 总 体 设 计 2.1 需求概述 用户主要有以下几点要求: 1、 将一个单词的不同词性以列表的方式展示给用户,当一个词性被选中时,屏幕就显示该词性的相关解释。 2、 用户可以通过手机的“左”、“右”键控制词

10、性的切换。 3、 在结果输入部分,因为解释条目已经按照使用频率排列,所以默认采用全展开排列,即所厦门大学本科毕业论文 第 6 页 有解释按照使用频率由高到低的顺序依次排列。由用户按“上”、“下”键进行滚动和翻页。同时软件要留好接口,在解释条目多的时候可以将部分解释折叠为一行,当用 户有需要的时候按“确认”按键展开,这样用户可以在一屏内看到更多的解释摘要,以便确定展开哪条解释条目。 4、 当一条解释的内容过多(超过一屏)时,用户可以在已展开的条目上按“确定”键,整个屏幕就全屏显示选中条目,松开按键时恢复原样。 5、 可以实现英英,英汉 切换查询 6、 可移值性 好,对不同手机的屏幕软件可以根据算

11、法自适应地采取合适地显示而不 改动 或者尽可能少地改动 代码。 7、 对于彩屏手机可以利用其色彩显示丰富的特别,美化界面。 8、 用户可以及时而方便地得到帮助信息,因而可以充分和便捷地使用软件的各种功能。 9、 数据结构优良,接口预留丰富, 以便开发的新的功能。 2.2 软件结构 程序的结构图如下 WordInfo.class: 厦门大学本科毕业论文 第 7 页 FontProvider.class AhdForm.class: 厦门大学本科毕业论文 第 8 页 3 程 序 描 述 3.1 功能 WordInfo.class :这是一个信息包,功能类似于 C中的结构体,主要储存查询到的解释信息

12、 ,包括词性,解释条目的数量,解释条目(这是一个一维数组,分别存储英文解释和中文解释,以便进行英汉 /汉英切换 ) 。每个词性及其对应的解释信息储存在一个 WordInfo 对象中,信息格式自定义,然后由控制程 序将其添加到自定义表单中去。 同时由于这种存储特性,使得添加新的信息非常容易,如添加音标,例句等内容 只要在信息包中加入相应标识,然后在显示程序中添加对这类标识的支持就可以了。 FontProvider.class:这是一个通用的字体对象获得类,在图形显示中需要定义多种字体格式, 有些时候不同格式需要切换使用(如在选中状态和未选中状态),而在不同的方法和类中往往用到许多相同的字体设定,

13、这样 反复定义比较浪费内存 , 而且 在统一 修改 的时候因为变量名不同,文件不同,查找替换 十分麻烦,故而专门编写一个字体对象提供者,根据其 它程序输入的参数输入相应的字体对象。 使用是只用使用 getFont(int)方法就能根据输入的 ID号获得相应的字体,统一修改时只要修改 FontProvider 中的返回值设定就可以了。 AhdForm .class:这是查询结果显示界面的主程序,用来绘制整个界面以及控制界面中的每一部分在界面中的显示位置和显示方式 , 这个功能类似于 javax.microedition.lcdui 包中的form 类,不过功能已经完全自定义。当控制程序将查询结果

14、的信息包添加到表单中后,表单即可绘制出整个屏幕,并且支持各种按键事件 (按左 右键可以进行词性的切换,按上下键可以进行屏幕的滚动,按键可以切换英汉 /汉英查询结果显示) , 屏幕的右下还有帮助命令按钮,点击可以进入到帮助界面,详细告知使用方法, 使用户可以方便地进行查询操作。 因为使用到了双重缓冲技术,所以在程序运行中要动态合成几幅图片,在设计该类时曾考虑将绘制不同的图片编写为一个个小的模块,即分成几个类编写,这样总体结构上比较好看,主程序的体积就会比较小,只是调用各个类对象即可,不过这样设计也存在缺点,一是生成类对象要占用一定的内存,为了确保图片绘制的位置合适,还要向类对象传递大量的参数,

15、其中厦门大学本科毕业论文 第 9 页 传值的部分又占用了一部分内存,而将这些功能以一 个个方法的形式写在一个类中就减少了内存的占用,而且可以非常充分地利用全局变量,全局变量长期占用内存,只有充分利用才能让其物有所值。在小型移动设备上,内存是非常宝贵的资源,所以权衡之下决定将上述功能合成到一个类中,这样 在增加新功能的时候也能够比较方便地利用现有资源。 3.2 性能 : WordInfo.class :解释信息的格式为自定义,可以根据要求随时添加新的信息,其信息格式为“标识符信息内容”,因此 只要定义新的标识符,就可以添加新的内容进去,并不影 响原来的显示在内存占用上,该类存储的标识信息很少,绝

16、大部分为实际显示信息,尽可能少地使用内存。 FontProvider.class :此程序对灵活性要求比较大,因此设计成接受 int 类型的参数返回相应的字体对象,而这个对象是在 FontProvider 中定义的,实现了模块的封闭性,只要更改或者添加新的返回类型,其它程序获得的字体对象都将做出相应的变化,便于程序维护。 AhdForm.class:此程序是查询结果的主要显示程序,用来绘制屏幕,因此要求反应时间较快,即重绘屏幕的时间要快,画面无闪烁,同时减少 内存的使用。为实现这些功能,同时增加程序的可移植性,程序统一自行实现了双重缓冲功能,使画面变动时无闪烁,因为是使用drawImage 命

17、令一次性绘出最终显示屏幕,因为不是所有的手机都支持双重缓冲,所以该功能一律由程序实现。在程序中,多采用局部变量,尽量少采用全局变量,减少内存的使用,特别对于图片这样占用内存比较大的对象来说,除了绘制全屏的 screen 为全局变量外,其它的 Image 对象均为局部变量,即当其被“粘”到 screen 图片上以后,其所占内存即被自动释放回收。同时尽量减少运算量,简化运算步骤,减轻手机芯片 的运算负担,确保界面能够快速切换。 厦门大学本科毕业论文 第 10 页 3.3 输入项目 WordInfo.class 名 称 标 识 符 数据类型 数据有效范围 输入方式 WordInfo(String,

18、String) String info, Stirng inter 字条串 系统默认 生成对象时输入 setInterNum(int) int n 整型 系统默认 控制程序输入 setWordInfo(String) String info 字符串 系统默认 控制程序输入 FontProvider.class 名 称 标 识 符 数据类型 数据有效范围 输入方式 getFont(int) Int fontID 整型 系统默认 调用方输入 AhdForm.class 名 称 标 识 符 数据类型 数据有效范围 输入方式 AhdForm(String Display ) String w Display d 字符串 显示对象 系统默认 生成对象时输入 append(WordInfo w) WordInfo w WordInfo对象 控制程序输入 paint(Graphics g) Graphics g Graphics对象 系统自动输入 drawUp(Graphics g) Graphics g Graphics对象 paint 方法输入

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。