基于googleandroid平台电子词典软件的设计与实现硕士论文Word文档下载推荐.docx
- 文档编号:6380455
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:34
- 大小:1MB
基于googleandroid平台电子词典软件的设计与实现硕士论文Word文档下载推荐.docx
《基于googleandroid平台电子词典软件的设计与实现硕士论文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《基于googleandroid平台电子词典软件的设计与实现硕士论文Word文档下载推荐.docx(34页珍藏版)》请在冰点文库上搜索。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
导师签名:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
3、学生综合运用所学知识和专业技能分析和解决问题的能力
4、研究方法的科学性;
技术线路的可行性;
设计方案的合理性
5、完成毕业论文(设计)期间的出勤情况
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
2、是否完成指定的论文(设计)任务(包括装订及附件)?
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
2、论文的观念是否有新意?
设计是否有创意?
3、论文(设计说明书)所体现的整体水平
建议成绩:
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
二、论文(设计)水平
评阅教师:
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
2、对答辩问题的反应、理解、表达情况
3、学生答辩过程中的精神状态
评定成绩:
教研室主任(或答辩小组组长):
(签名)
教学系意见:
系主任:
摘要
本文阐述了在Android平台下电子词典软件的设计与实现过程。
其目的是让人们能够在基于GoogleAndroid平台的移动设备上享用英汉词汇翻译功能。
系统实现了英汉词汇查询、添加,删除等功能。
在词汇存储及检索方面,系统使用了Android内置的小型嵌入式数据库Sqlite的开发接口,支持单词的模糊检索和词库导入功能。
平台基于Java语言开发完成,在不同型号的设备模拟器上测试通过。
关键词:
Android平台;
电子词典软件;
嵌入式开发;
Abstract
Inthispaper,wedescribethatelectronicdictionarysoftwareforthedesignandimplementationprocessinGoogleandroidplatform.ItspurposeisthedevelopmentofthisplatformundertheEnglish-Chineseelectronicdictionarytranslationfeaturesthedesignandimplementation,It’sdefaultuseofsmallembeddeddatabase-Sqlite,theplatform’slanguageisjavaprogramminglanguageandusetheplatformprovidedbythesimulator.enablingusersfacilitatetouseanysimplefunctionsthattheEnglishwordsfortheChineseexplainedwhatthesoftwareachievedwords’addition,delete,modifyonmobilephones.Thesoftwaredesignanddevelopmentbasedonthejavalanguage.
Keywords:
platform;
simulator;
database
1前言
1.1系统开发背景
目前,市场上使用较多的智能手机操作系统包括Symbian、PalmOs、windows
MobilesLinux等,谷歌基于Linux的手机软件Android一度被业内视为最有希望的移动平台。
Android的强势进入不但给Linux带来了新的生机,也加剧了Linux移动平台内部的竞争,开发这样一个手机软件平台的原因之一,就是30亿的手机用户享受近年来各种各样的技术创新,特别是在互联网方面的各种技术创新。
在这样的基础和前景下,基于android平台下设计电子词典应用软件,可以在android平台下更好的学习相关技术。
2系统概述
2.1系统需求分析
针对本课题在当前google提供的SDK的最新版本的开发过程中,汉英功能暂不能实现,只能进行英汉功能模块的开发,在使用数据库方面使用默认自带的sqlite嵌入型的小型数据库。
尽管不如完全面向对象的数据库(例如db4o)开发的更加方便。
但当完成开发后,可以尝试用db4o来取代sqlite数据库。
这样就使整个数据库的操作效率更加完善。
系统总体业务可以描述为以下几点:
1)在主界面是否能显示出数据库中的单词,并按一定次序显示出来。
2)显示菜单功能,是否能进行功能键的判断并进行相应的测试。
3)运行状态的判断,根据对菜单功能进行测试得到的结果,对当前状态进行判断。
4)异常的出现,判断可能出现的异常,并对不同的功能进行测试。
5)模拟器的重新启动,清除在模拟器下操作功能出现的异常情况。
2.2Android平台结构
以下图表展示了Android操作系统的主要组成部分。
图2.1Android系统架构图
3系统设计
本章对系统的功能框架以及各个功能模块之间的关系进行描述,使用面向对象的思想对系统的设计方法进行分析,设计了系统中的相关类。
3.1系统需要解决的主要问题
基于在android平台下设计电子词典软件需要解决以下几个问题:
数据库使用情况:
当前android平台采用的是sqlite数据库。
把单词库作成“.db”文件导入到android平台下的sqlite数据库。
首要问题是在初始化时需要创建的数据库名称,并且表名要和导入的数据库名称一致。
此外还要熟悉Fileexplorer的文档结构。
布局问题:
在android平台下开发应用软件,最重要的是布局问题。
在该平台中采用的是xml文件来设置布局。
在SDK平台下,提供了包括图片、文字显示、以及xml文件的布局设计方法。
在此基础上,开源爱好者也开发出一个可视化的布局工具。
虽然控件不是很丰富,但随着android平台被更多广大爱好者的关注,更多更好的布局工具将会出现在我们面前。
3.2系统功能框架
在设计系统的功能架构时,主要分为查询、动态装载和定位、增删改、显示尺寸、动态导入和导出等功能模块。
系统模块结构示意图如下:
图3.1系统功能结构示意图
英汉查询功能模块中包括了英文查询功能,并且还实现了模糊查询功能。
主要操作是在主界面中单击查询和输入动态查询。
单词的增删改功能包括单词的增加,删除,修改功能。
用户可以向单词库中增加、删除、修改单词库中的单词。
导入和导出功能现在只能手动在模拟器中才能实现单词库的导入和导出的功能。
详细的处理过程:
1)首先,配置好数据库。
使数据库支持模拟器文本框的检索。
通过模拟器的文本框进行单词输入。
通过数据库进行匹配,并将结果输出到屏幕。
2)其次,把不同类型的文件(英文单词库)制作成一个.db文件。
通过Fileexplorer,使得sqlite数据库可以动态的导入。
3)添加4个功能模块,分别为:
添加词汇功能、删除功能、查询功能以及导入功能(单词库文件)。
4)进行屏幕尺寸的调配,使得中心屏幕更适合用户的要求。
3.3系统总体流程图
启动模拟器后,模拟器会自动加载指定的单词库,然后进入主界面,并在主界面中把单词库中的单词显示出来,而且会根据屏幕的大小自动调整显示出的单词数量。
然后在菜单栏中可以选择添加、删除和查询功能,并进入相应的界面。
如果不想进入相应的界面,按ESC可以后退到主界面。
整个流程图如下:
图3.1总体流程图
3.4系统关键技术
在android平台下开发电子词典所采用的关键技术有以下几点:
1)对数据库数据(单词库)的导入、导出(对Fileexplorer的dos操作或鼠标操作)
2)模糊查询
3)单词的添加、删除、修改
复杂性分析:
1)当启动模拟器后,android平台会自动启动DDMS功能,把已有的功能模块的File文件自动生成镜像文件。
可以在dos下输入:
adbemulator-tcp-5555shell来进入数据库,并输入指定位置的的数据库名称,并打开相应的文件查看。
利用模拟器自带的push和pull功能来实现单词库导入和导出。
其复杂度中等。
2)界面查询功能的实现需要了解android平台下的定位操作,也是SDK中的基本功能之一。
其复杂度较小。
3)添加、删除、查询功能的实现需要查看底层代码。
深入了解后可以在程序中直接使用相关的函数。
3.5数据库的设计
数据库名称:
sqlite.db
表名:
dict
表中字段名称:
id,title,body
说明:
title:
存放英文单词。
body:
存放相应的英文单词的中文解释。
数据库定义为sqlite.db的原因是:
android平台下采用的数据库是sqlite3,运行后生成数据库的名称.db文件。
定义好的外部数据库可以直接导入到模拟器下的位置为:
/data/data/com.gewei.dictionary/databases/sqlite.db。
这样单词库的数据就可以直接在模拟器中显示出来。
在DOS下查看android下的数据库文件的内容如下:
sqlite>
/data/data/com.gewei.dictionary/databases/sqlite.db
/data/data/com.gewei.dictionary/databases/sqlite.db
...>
.modeline
.modeline
Select*fromdict;
图3.1数据库E-R图
4系统实现
本章阐述了电子词典中各个功能的实现,并且对该软件实现过程中的主要问题进行了分析并提出了解决方案。
根据上章得知,该软件包括界面布局、查询、动态装载和定位、增删改、显示尺寸以及动态导入和导出等功能模块。
4.1查询模块的实现
查询模块的功能就是把查询到单词的中文解释在界面中显示出来。
在屏幕中单击要查询的单词或输入要查询的单词,另一个界面中显示出单词和单词的中文解释。
实现过程:
设置6个静态字段——包括3个数据库中表字段的名称、数据库的名称、表的名称和数据库的版本(sqlite版本默认为3)。
首先,创建数据库,并通过模拟器把外部单词的数据库导入,修改创建数据代码将其改为已打开的数据库。
其次,通过调用函数publicCursorquery(Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringorderBy)来实现查询功能,并在相应的editText中显示出查询的信息。
图4.1查询界面
4.2添加模块的实现
添加单词的功能就是在数据库中添加没有的单词。
当点击菜单栏中的添加按钮后,会进入另一个界面,在此界面中输入要添加的单词。
由于api未支持中文的输入,所以单词的释义还不能添加。
添加后的单词会自动进入数据库中并保存下来。
在editText中输入英文单词,调用dictionaryeditText.java中的saveState()函数。
在此函数中调用createNote()方法,参数为输入的内容。
此内容的获取是通过读取当前在editText中的字符串,利用insert()方法把读取到的内容插入到数据库中,从而完成对单词的添加。
图4.1添加界面
4.3删除模块的实现
删除单词功能的实现过程是在点击菜单栏的删除键,前提已经选中要删除的单词。
界面会弹出一个消息栏,提示单词已经删除,并且在数据库中该单词也已经删除。
删除功能的实现过程调用函数publicintdelete(Stringtable,StringwhereClause,String[]whereArgs)操作数据库。
具体的参数如下:
delete(DATABASE_TABLE,KEY_ROWID+"
="
+rowId,null)>
0;
根据ID来进行单词的删除。
图4.1删除界面
4.4装载模块的实现
动态装载模块在现阶段仅仅实现了手动加载。
从模拟器加载进来外部已经生成好的.db文件。
利用模拟器中的push和pull可以把单词库文件导入。
图4.1加载界面
图4.2主界面
4.5系统交互界面的实现
AndroidXML布局文件的大体的结构很简单。
它是一个标签的树,任何一个标签就是View类的名字。
在这个例子中,它是一个很简单的只有一个元素的树,一个TextView。
你可以使用任何继承自View类的名字作为标签的名字。
包括在你的代码中自定义的View类。
这个结构可以很容易的构建界面,它比你在源代码中使用的结构和语法更简单。
这个模式的设计灵感来自于Web开发。
就是可以将界面和应用程序逻辑分离的模式。
本软件关于界面布局的设置主要是与dictionary_edit.xml,dictionnary_list.xml,string.xml文件有关。
相关文件具体说明如下:
dictionary_edit.xml采用的是线性布局。
本布局的具体含义是:
设置的垂直或水平的属性值来排列所有的子元素。
通过两个edittext、一个button和两个textview来实现两个文本框(在界面视图中包含)和一个按钮(save),并设置其相关的属性值。
该布局体现在对单词添加功能和对单词查询功能进行操作时显现的界面。
Dictionary_list.xml采用的也是线性布局。
该布局通过两个界面元素listview和textview,实现了当从数据库中导入的单词在主界面中动态的加载和显示时,会自动的扩充单词在主界面中显示的行数,并根据模拟器的尺寸来进行调整。
String.xml该文件主要是设置在界面中显示出的中文和英文信息(标题等显示在界面中的信息)。
dictionary_edit.xml:
<
?
xmlversion="
1.0"
encoding="
utf-8"
>
LinearLayoutxmlns:
android="
android:
orientation="
vertical"
layout_width="
fill_parent"
layout_height="
<
LinearLayoutandroid:
horizontal"
android:
wrap_content"
<
TextViewandroid:
android:
text="
@string/title"
/>
EditTextandroid:
id="
@+id/title"
layout_weight="
1"
/>
/LinearLayout>
@string/body"
@+id/body"
scrollbars="
Buttonandroid:
@+id/confirm"
@string/confirm"
5系统测试及性能分析
5.1系统测试
图5.1总体性能图
图5.2主类dictionary.java测试图
图5.3工程测试图
该图说明代码结构良好,不需要进行重构。
(红线在绿色的范围之内)复杂度较小。
而在dictionaryEdit.java文件中我们可以看到:
图5.4dictionaryEdit.java测试图
说明该段代码需要进行重构,进行重构的方法可以从下图看出:
图5.5函数复杂度测试图
在onCcreate()方法的复杂度大到了9,说明该方法需要进行改进和重构。
图5.6主方法测试图
测试总体来说,需要进行重构的方法较少,整体性能较好。
表5.2数据测试表
输入值
预期结果
实际结果
结论
添加新词汇测试:
输入abnormal,单击保存
添加abnormal到数据库
添加成功
删除单词测试:
选择单词base并点击删除按钮
只能删除用户保存过的单词,不能删除掉系统自带的单词
单词base从数据库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 googleandroid 平台 电子词典 软件 设计 实现 硕士论文