基于安卓平台电子词典的设计和实现.docx
《基于安卓平台电子词典的设计和实现.docx》由会员分享,可在线阅读,更多相关《基于安卓平台电子词典的设计和实现.docx(22页珍藏版)》请在冰点文库上搜索。
基于安卓平台电子词典的设计和实现
基于安卓平台电子词典的设计和实现
本科生毕业论文(设计)
题目:
基于安卓平台电子词典的设计与实现
英文题目:
TheDesignandImplementofDigtalDictionaryBasedonAndroidPlatfrom
姓名:
宁舒琪
学号:
1311214019
学院:
国际传媒学院
专业:
数字媒体技术
年级:
2013
班级:
131110
指导教师:
王维花
职称:
讲师
2017年5月
毕业论文诚信声明
本人郑重声明:
所呈交的学位论文,是在导师的指导下独立进行研究所取得的成果。
学位论文除文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或在网上发表的论文。
特此声明。
论文作者签名:
日期:
致谢22
1安卓电子词典概述
1.1开发的背景
古往今来,人类传递信息的媒介一直在不断变化,从目前已知最古老的甲骨文是在兽骨或石头上刻字、到后来蔡伦造纸术,人们开始用纸媒来传播信息、而如今的社会,纸媒又面临着逐渐被网络媒体取代的局面【1】人类用来传递信息、传播文化的载体一直在改朝换代,可以说是紧紧地跟随着时代的脚步。
而现在是互联网时代,以电子计算机为代表的现代科学获得了突飞猛进的发展[2],而英语是目前世界上使用最广泛的语言,全世界上有60多个国家将英语作为官方语言。
【3】学习英语者的年龄层也普遍越来越年轻,这些年轻人们生活在这个科技的、新媒体的时代,他们习惯并热衷于接受新鲜的学习方式、乐意去体会高效的不枯燥的教育模式、享受那种随时随地学习的乐趣。
电子词典作为学习语言这条路上不可或缺的一个助力[4],也是不断地在蜕变,从掌上词典、电脑客户端、平板电脑再到智能手机等移动终端,它的影响力也是迅速地普及开来。
而在这个变化的过程中,电子词典的占用资源越来越小、运行起来越来越快速、各项功能越来越全面、词典的数据库越来越庞大、检索单词也越来越便捷。
【5】而Android操作系统的出现,又使得电子词典软件的适用性得到了很大的提升【6】,基本上达到了不管在哪个版本的Android手机都可以顺畅地运行的效果,电子词典手机APP的便捷与实用使得它对人们的生活、学习、阅读、查询、以及交流方式产生了巨大的影响。
【7】
1.2目的和意义
1.2.1选题的目的
二十世纪后半期,随着社会的迅速发展与进步,现代科学获得了飞速的发展,电子产品也与人们的生活紧密地结合在了一起,现代科学的创新与进步使得从前无法实现的事情变成现实,使得各种电子词典的诞生变得可能。
【8】虽然时间不长,在这十几年间电子词典却迅速成为词典行业中不可或缺的一员,尽管可能并不能完全取代传统的词典,但是已经被广泛运用在日常学习与教学中,并收获广泛好评。
【9】而且因为电子词典的经济实惠与便于携带这些特点明显优于传统的词典,所以人们认为它已经具备了对传统词典发起挑战的资格,并成为了传统词典的有力竞争者。
1.2.2选题的意义
选择这个选题是为了巩固加强自己大学期间所学的Java语言编程基本功,为了熟练掌握Eclipse开发工具的运用,拓宽常用数据库的应用。
Java语言可以说是当今非常流行的网络编程语言,它具有面向对象,跨平台,分布应用等特点,它更加贴近自然的语言,并且有利于软件的维护和继承。
所以我希望通过这次项目的实践,把大学期间所学课程知识及相关语言加以融会贯通,更加全面的掌握Java语言的编程思想和面向对象程序设计的方法,为今后从事实际工作获得更丰富的实战操作经验,打下坚实的基础。
在学习中工作中,我们遇到不会的英文单词、看不懂的英文文章,第一时间就会想到查词典,但是传统的词典笨重不易于携带的特点,决定了我们不可能将它随时带在身边,很容易需要使用的时候却找不到。
而手机上安装的电子词典APP能够让我们随时随地,轻轻松松的检索到我们需要的单词,可以说是最方便、最便捷、最轻松的选择。
电子词典手机APP是一种多功能的词典类查询软件,即使在没有网络的情况下,也可以做到即时查询,快速、准确、细致地检索英文单词,对于语言学习者们提供最大帮助。
1.3开发目标
从词典的实用性出发,致力于打造一个画面美观、运行快、占用内存少,实用且具有一定推广价值的安卓平台手机APP。
该电子词典app主要实现的功能有:
1)单词查询;
2)新用户注册;
3)用户登录;
4)收藏生僻词汇;
5)单词本功能;
2需求分析
2.1功能需求分析
通过开发前期对于各大手机软件应用市场进行市场调研,得到了一份基本功能数据汇总,确定了大部分电子词典软件都包含着的基本功能,也就是用户对于电子词典手机APP的主要需求。
在仔细研究以及分析这些数据之后,以下是电子词典这个软件所需要基本的功能:
(1)检索功能,这个最核心的功能,实现了单词的查询操作。
(2)单词本功能,用户可以将生疏的单词储存在单词本,随时都可以快速的找到,方便学习。
(3)登录功能,给予每个用户的私人空间,显示你的个人信息,属于你自己的单词本。
(4)注册功能,注册成为新用户。
(5)单词解释功能,英译汉,告诉用户查询的单词的释义。
2.2可行性分析
2.2.1研究的可能性
.技术上可能性:
完全可以利用Java语言跟SQLite数据库制作出一款符合设计目标的多动能电子词典系统,而且该运行程序则可以很好的实现项目要求中所提出的各项功能指标。
.操作上可能性:
本系统不要求使用者对开发工具Java语言有任一方面的了解,也正是因此,用户没有必要参加任何相关培训,就可以轻松上手本运行程序。
进入本运行程序,用户可以轻松地通过手机来实现浏览、录入、查询等操作,真正意义上地实现了管理的自动化、规范化,进而大大的节约了时间。
2.2.2研究的基本条件
电子词典这个项目的提出始于20世纪40年代末期,是美国人对于机器翻译的研究,在50到60年代中期也曾经引起过人们对于机器翻译的热潮,但是最终由于当时的社会环境、生活状态等种种原因这项事业一直停滞不前,在进入了80年代后,电子词典进入了活跃期。
【10】目前根据已经掌握了的国内外关于电子词典的研究文章【11】来看,国内多项研究表示,相比传统的纸质媒体来说,电子词典的后台数据库更加庞大,也就是说存储的资源比传统的词典更多。
【12】纸质的词典每过几年就会出新版的词典,这是由于单词库在不断地进行着更新,而电子词典完全没有这个顾虑,只需要上网下载最新的数据库安装在软件上就好,比纸质版的传统词典要节约成本费且性价比高。
电子词典具有快捷检索、方便携带、存储空间大、数据库更新速度快等这些特点,而这些特点正式基本上所有类型的电子词典的特点之和。
2.2.3能否取得实质性进展
本研究可以取得实质性进展,核心观点已经初步提炼出来,主要论据基本完成搜集,研究框架也已经得以确定。
2.3开发环境需求
2.3.1开发工具介绍
1.Eclipse简介
Eclipse是开放源代码的、基于Java的可扩展开发平台。
【13】Eclipse最开始是由IBM公司最为主要发起人投资并开发出来的,但是在一开始的时候,Eclipse在业界的声誉一度落到最低谷,甚至遭受到了许多人的批评,直到2003年Eclipse2.1版本发布的时候,它能够快速创建语言环境、快速搭建编程平台、以及操作方便这些优点,一下子就引起了业界的轰动,蜂拥而至官网下载Eclipse的用户们,曾经一度将服务器挤爆,造成服务器拥挤瘫痪。
[9]正是因为这样富有创新性的平台特性,众多公司被他吸引,纷纷加入它的平台。
为用户提供一种能够使用各种语言工具并且无缝衔接的编程平台,这就是Eclipse的主要任务。
2.SQLite轻量型数据库概述
SQLite一个轻量级别数据库,具有很多不错的特点。
【14】它不需要配置、不需要安装、也不需要管理员、并且同一个数据库文件可以在不同机器上面使用、大部分应用比目前常见的客户端的数据库快、没有其它依赖、源代码开放,也正因为具备着这些优点,SQLite才被普遍地运用于各种手机软件中。
2.3.2开发环境搭建
(一)Android开发环境的搭建
1)第一步,在官网上下载JDK,配置环境变量,右键点击计算机(我的电脑)属性--高级系统设置--高级--环境变量,修改如下变量:
JAVA_HOME值为:
C:
\ProgramFiles\Java\jdk1.7.0_51
图2-3-2-1.JAVA_HOME配置环境变量
CLASSPATH值为:
在原本的变量最后加上%JAVA_HOME%\bin;
图2-1CLASSPATH配置环境变量
Path值为:
在原本的变量最后加上%JAVA_HOME%\bin;
图2-2Path配置环境变量
2)检查JDK是否安装成功:
首先,快捷键window+R,打开运行窗口;在文本框处输入cmd,按下回车;在鼠标闪烁的地方输入java-version,回车运行,运行结果如下图:
图2-3检查JDK
(二)登录官网,找到合适版本的Eclipse,点击下载,下载完成后不用安装,直接可以使用。
(三)下载官方adt压缩包并安装,配置sdk环境变量
1)将sdk压缩包解压到任意路径。
2)运行Sdk文件夹下的SDKSetup.exe,选择所需的文件安装。
3)在用户环境变量中新建PATH值:
AndroidSDK文件夹中tools绝对路径。
图2-4PATH配置用户环境变量
4)检查AndroidSDK是否安装成功:
再次进入运行窗口,输入android-h,回车如果出现图6中的代码,
证明安装成功。
图2-5检查SDK
(四)运行Eclipse
3系统框架设计
3.1系统框架设计
系统框架包含了关于软件系统的重要决策,系统框架一旦决定下来,就相当于整个软件的框架都搭建出来了。
各部分之间的静态、动态关系,各个模块之间如何跳转、如何连接、如何交换彼此的信息,几乎就一目了然了。
根据本项目需要实现的功能和目标,使用例图的方式比较简洁明了,接下来,我会使用系统基本功能用例图描述了整个系统的基本结构功能。
然后再具体地分为每一个小模块进行阐述。
系统基本功能用例图:
图3-1系统功能用例图
3.2各模块框架设计
3.2.1主菜单模块框架
主菜单模块中有两个子页面:
离线词典和单词本。
点击离线词典按钮就会进入到离线词典界面;而点击单词本按钮会进入登录界面,因为每一位用户的单词本都是不同的,离线词典游客也可以使用,但是单词本只有注册过的用户专享。
主菜单界面(zhucaidan.xml)背景是一张简洁的图片,只有两个按钮,在Zhucaidan.java中设置了两个按钮的跳转程序。
图3-2主菜单模块框架图
3.2.2离线词典模块框架
离线词典界面上面是文本框,在文本框中用户可以输入需要检索的单词,输入完成后点击搜索,就会跳转到用户检索的单词的释义界面;最顶端左侧有一个返回的小三角,点击就会返回上一层主菜单界面。
图3-3离线词典模块框架图
3.2.3单词本模块框架
进入单词本界面之后,点击用户收藏过的单词,就会跳转到该单词的释义界面;返回上一层仍然是左上角小三角。
图3-4单词本模块框架图
3.2.4登录模块框架
登录界面有两个子页面:
注册界面和单词本界面。
如果是没有注册过的用户想要使用单词本功能,就必须要先注册,点击注册按钮,进入注册界面;如果是注册过的用户,直接使用用户名密码登录就行,登陆成功进入单词本界面;返回上一层左上小三角。
新用户注册,用户名跟密码会被存进数据库;老用户登录,数据库会核对用户名与密码是否对应,正确则登陆成功。
图3-5登录模块框架图
3.2.5注册模块框架
注册界面,有用户名、密码、邮箱、联系方式四个文本框。
填入用户的信息,注册成功,页面自动返回登录界面,登录进入单词本;如果不想注册,可以左上角小三角返回上一页。
图3-6注册模块框架图
3.2.6单词解释模块框架
单词解释界面,有单词的中英文解释以及音标,这是检索之后用户最终看到的界面,收藏小星星按钮,点击可以把该单词存入单词本;需要检索下一个个单词的话,则需要返回上一层离线词典界面继续检索。
图3-7单词解释模块框架图
3.3数据库设计
3.3.1数据库分析
对系统数据进行分析,创建如下表:
1)数据库中所使用的表
图3-8数据库中所包含表
2)lixian表结构
图3-9离线数据库表结构
3)dict表结构
图3-10dict表结构
4)wordbook表结构
图3-11wordbook表结构
3.3.2数据库的创建
数据库是按照一定的结构和规律组织起来的相关数据的集合,是综合各个用户数据所形成的的数据集合,是存放数据的仓库。
【15】
本项目创建了三个数据库,离线单词数据库,索引数据库和单词本数据库。
详细代码:
图3-12数据库的创建
4模块实现
4.1离线查询模块实现
离线词典的实现是根据给定的值,也就是索引建key,来查找数据库里相对应的值(value)是否存在。
在词典接口定义好索引建以及这个单词的释义,通过用户的输入内容来检索释义。
主要代码:
(调用SQLite数据库)
图4-1离线词典模块
4.2单词本模块实现
单词本实现了生僻词汇的存取功能,用户可以将单词收藏添加到单词本中,也可以在单词本中删除掉不需要的单词,本模块主要涉及到数据库的交互,在SQLite数据库中存取数据。
主要代码:
(添加到单词本)
图4-2添加单词本实现模块
5系统测试
5.1运行
经过多次测试,本应用程序能够在一般配置的手机上运行,程序运行及页面跳转没有问题,各模块功能能够正常实现。
5.2测试
Android电子词典测试注意问题:
●在功能方面:
1)测试在不同手机上安装、卸载本软件有没有问题,会不会出错。
2)与其他软件的交互性如何,有没有出现同时运行两个软件是闪退的问题。
3)与移动网络的适应性,当手机开启2G\3G\4G\WIFI时,软件的运行会不会卡顿、报错等。
●在兼容性方面:
1)系统版本兼容性,理论上来说本软件在所有Android操作系统中都能运行的,但是还是需要实际测试一下。
2)分辨率兼容性,在分辨率不同的手机上,软件在交互界面上的呈现是否不会出错。
3)手机品牌兼容性,在不同国家、不同品牌的手机上试运行,检查是否适用。
●在性能方面:
1)测试一下实际运行软件时的占用内存大小、运行速度、耗电速度等等。
2)测试在手机低电量、低内存、信号不好的时候运行软件,是否对软件有什么影响
6结语
本文阐述了电子行业的现状、发展历史以及未来的广阔的市场前景、表明了电子词典在词典行业中的重要性、详细讲解了手机电子词典APP的整个开发到实现的过程,以及具体的功能分析、需求分析、工作原理等等。
其实我在数据库的创建实现过程中一开始也是遇到了一些困难,不知道该从哪里下手才好。
后来在老师的指导下,找来相关资料仔细钻研学习,最终做出了这个电子词典软件。
论文对于本项目用到的关键性的技术展开了具体的分析与研究,其中讲数据库中数据索引的那部分同时也对相关问题提供了一种解题思路和解决方案。
参考文献:
[1]陈黎.我国数据库的发展现状与趋势[J].现代情报,2006,(11):
138-140.
[2]张杰.智能电子词典的设计研究[D].汕头大学,2007.
[3]周婷,董海棠.Eclipse平台架构及其插件[J].甘肃科技纵横,2007,(03):
16+151.
[4]吴红英.《英汉蒙电子词典》的设计与实现[A].中国中文信息学会.第三届学生计算语言学研讨会论文集[C].中国中文信息学会:
2006:
5.
[5]高恒国,罗克露,雷剑.Eclipse平台架构技术分析及基于RCP的应用研究[J].计算机与信息技术,2006,(05):
1-3.
[6]高恒国,罗克露,雷剑.Eclipse平台架构技术分析及基于RCP的应用研究[J].计算机与信息技术,2006,(05):
1-3.
[7]王强.基于Eclipse平台的插件扩展实现[D].电子科技大学,2006.
[8]王强.基于Eclipse平台的插件扩展实现[D].电子科技大学,2006.
[9]任桢.电子词典的设计研究[J].计算机与数字工程,2003,(01):
62-64+51.
[10]章宜华,黄建华.电子词典的现状与发展趋势[J].辞书研究,1996,(06):
67-82.
[11]廖海宏.英汉双向PC电子词典的现状与发展趋势[J].鹭江职业大学学报,2004,(02):
44-48.
[12]章宜华.电子词典的现状与发展趋势[A].中国辞书学会双语词典专业委员会.第二届全国双语词典学术研讨会暨福建省辞书学会第九届年会论文集[C].中国辞书学会双语词典专业委员会:
1996:
15.
[13]A.H.Maghrabi.Infraredradiometricmeasurementsoflunardisktemperaturesduringlunareclipseon15thJune2011[J].AdvancesinSpaceResearch,2016,(09):
11-15.
[14]陈芬.Eclipse平台特性概述及插件安装总结[J].江苏科技信息,2013,(06):
66-67.
[15]MichaelWohlstadter,LubnaShoaib,JohnPosey,JasonWelsh,JackFishman.APythontoolkitforvisualizinggreenhousegasemissionsatsub-countyscales[J].EnvironmentalModellingandSoftware,2016,(02):
32-35.
致谢
四年的光阴转瞬即逝,一转眼就从大一新生变成了大四毕业生,这四年的大学生活是我最轻松、最快乐、最让人流连忘返的一段时光,我努力过、奋斗过、迷茫过,也虚度过,无论如何,在坎坎坷坷中我依然走完了这四年。
如今即将面临毕业,我心中对于学校、老师和同学充满了不舍与感激。
这四年间我们一起成长、一起玩耍、一起拼搏,彼此之间都收获了最真挚的友谊,而我一路走来,结交到了许多良师益友,俗话说“三人行必有我师”,在他们的身上我发现了许多没有认识到的或者是自己缺少的东西。
本文是在王维花老师的细心指导下完成的,在这四年间王老师曾多次担任我的任课老师,同时她是我编程领域知识的启蒙老师。
在初次接触到编程专业知识的时候、在面对繁琐复杂的代码的时候、在那段迷茫无措的日子里,她给了我很大的指导和帮助,在此仅向王老师致以诚挚的谢意和崇高的敬意。
此外我还要感谢与我一同奋斗过的同学们,这四年间我的成长与蜕变离不开你们的支持与帮助。
也正是由于你们的帮助和支持,我才能克服一个个困难和疑惑,直至本文顺利的完成。
面临毕业,回想这一路上自己遇到过的迷茫与疑惑,困难与艰难,成功与喜悦,有多少人在背后默默地帮助过我,有多少人给过我无言的帮助,在这里请接受我诚挚的谢意!