基于google+android平台电子辞典软件设计与实现硕士学位论文_第1页
基于google+android平台电子辞典软件设计与实现硕士学位论文_第2页
基于google+android平台电子辞典软件设计与实现硕士学位论文_第3页
基于google+android平台电子辞典软件设计与实现硕士学位论文_第4页
基于google+android平台电子辞典软件设计与实现硕士学位论文_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士学位论文基于GOOGLEANDROID平台电子词典软件的设计与实现学位论文原创性声明本人郑重声明所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名日期年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名日期年月日导师签名日期年月日摘要本文阐述了在ANDROID平台下电子词典软件的设计与实现过程。其目的是让人们能够在基于GOOGLEANDROID平台的移动设备上享用英汉词汇翻译功能。系统实现了英汉词汇查询、添加,删除等功能。在词汇存储及检索方面,系统使用了ANDROID内置的小型嵌入式数据库SQLITE的开发接口,支持单词的模糊检索和词库导入功能。平台基于JAVA语言开发完成,在不同型号的设备模拟器上测试通过。关键词ANDROID平台;电子词典软件;嵌入式开发;ABSTRACTINTHISPAPER,WEDESCRIBETHATELECTRONICDICTIONARYSOFTWAREFORTHEDESIGNANDIMPLEMENTATIONPROCESSINGOOGLEANDROIDPLATFORMITSPURPOSEISTHEDEVELOPMENTOFTHISPLATFORMUNDERTHEENGLISHCHINESEELECTRONICDICTIONARYTRANSLATIONFEATURESTHEDESIGNANDIMPLEMENTATION,ITSDEFAULTUSEOFSMALLEMBEDDEDDATABASESQLITE,THEPLATFORMSLANGUAGEISJAVAPROGRAMMINGLANGUAGEANDUSETHEPLATFORMPROVIDEDBYTHESIMULATORENABLINGUSERSFACILITATETOUSEANYSIMPLEFUNCTIONSTHATTHEENGLISHWORDSFORTHECHINESEEXPLAINEDWHATTHESOFTWAREACHIEVEDWORDSADDITION,DELETE,MODIFYONMOBILEPHONESTHESOFTWAREDESIGNANDDEVELOPMENTBASEDONTHEJAVALANGUAGEKEYWORDSPLATFORMSIMULATORDATABASE目录1前言111系统开发背景12系统概述221系统需求分析222ANDROID平台结构23系统设计431系统需要解决的主要问题432系统功能框架433系统总体流程图634系统关键技术735数据库的设计74系统实现941查询模块的实现942添加模块的实现1043删除模块的实现1144装载模块的实现1245系统交互界面的实现145系统测试及性能分析1751系统测试176总结与展望23参考文献24致谢251前言11系统开发背景目前,市场上使用较多的智能手机操作系统包括SYMBIAN、PALMOS、WINDOWSMOBILESLINUX等,谷歌基于LINUX的手机软件ANDROID一度被业内视为最有希望的移动平台。ANDROID的强势进入不但给LINUX带来了新的生机,也加剧了LINUX移动平台内部的竞争,开发这样一个手机软件平台的原因之一,就是30亿的手机用户享受近年来各种各样的技术创新,特别是在互联网方面的各种技术创新。在这样的基础和前景下,基于ANDROID平台下设计电子词典应用软件,可以在ANDROID平台下更好的学习相关技术。2系统概述21系统需求分析针对本课题在当前GOOGLE提供的SDK的最新版本的开发过程中,汉英功能暂不能实现,只能进行英汉功能模块的开发,在使用数据库方面使用默认自带的SQLITE嵌入型的小型数据库。尽管不如完全面向对象的数据库(例如DB4O)开发的更加方便。但当完成开发后,可以尝试用DB4O来取代SQLITE数据库。这样就使整个数据库的操作效率更加完善。系统总体业务可以描述为以下几点1在主界面是否能显示出数据库中的单词,并按一定次序显示出来。2显示菜单功能,是否能进行功能键的判断并进行相应的测试。3运行状态的判断,根据对菜单功能进行测试得到的结果,对当前状态进行判断。4异常的出现,判断可能出现的异常,并对不同的功能进行测试。5模拟器的重新启动,清除在模拟器下操作功能出现的异常情况。22ANDROID平台结构以下图表展示了ANDROID操作系统的主要组成部分。图21ANDROID系统架构图3系统设计本章对系统的功能框架以及各个功能模块之间的关系进行描述,使用面向对象的思想对系统的设计方法进行分析,设计了系统中的相关类。31系统需要解决的主要问题基于在ANDROID平台下设计电子词典软件需要解决以下几个问题数据库使用情况当前ANDROID平台采用的是SQLITE数据库。把单词库作成“DB”文件导入到ANDROID平台下的SQLITE数据库。首要问题是在初始化时需要创建的数据库名称,并且表名要和导入的数据库名称一致。此外还要熟悉FILEEXPLORER的文档结构。布局问题在ANDROID平台下开发应用软件,最重要的是布局问题。在该平台中采用的是XML文件来设置布局。在SDK平台下,提供了包括图片、文字显示、以及XML文件的布局设计方法。在此基础上,开源爱好者也开发出一个可视化的布局工具。虽然控件不是很丰富,但随着ANDROID平台被更多广大爱好者的关注,更多更好的布局工具将会出现在我们面前。32系统功能框架在设计系统的功能架构时,主要分为查询、动态装载和定位、增删改、显示尺寸、动态导入和导出等功能模块。系统模块结构示意图如下基于GOOGLEANDROID平台电子辞典的设计英汉查询功能动态装载和定位功能新词条的增、删、改显示尺寸设备的运行动态导入和导出功能英文查询功能英文单词库导入添加功能修改颜色单词库的S手动加入导出单词删除功能修改功能调整尺寸定位单词的位置图31系统功能结构示意图英汉查询功能模块中包括了英文查询功能,并且还实现了模糊查询功能。主要操作是在主界面中单击查询和输入动态查询。单词的增删改功能包括单词的增加,删除,修改功能。用户可以向单词库中增加、删除、修改单词库中的单词。导入和导出功能现在只能手动在模拟器中才能实现单词库的导入和导出的功能。详细的处理过程1首先,配置好数据库。使数据库支持模拟器文本框的检索。通过模拟器的文本框进行单词输入。通过数据库进行匹配,并将结果输出到屏幕。2其次,把不同类型的文件(英文单词库)制作成一个DB文件。通过FILEEXPLORER,使得SQLITE数据库可以动态的导入。3添加4个功能模块,分别为添加词汇功能、删除功能、查询功能以及导入功能(单词库文件)。4进行屏幕尺寸的调配,使得中心屏幕更适合用户的要求。33系统总体流程图启动模拟器后,模拟器会自动加载指定的单词库,然后进入主界面,并在主界面中把单词库中的单词显示出来,而且会根据屏幕的大小自动调整显示出的单词数量。然后在菜单栏中可以选择添加、删除和查询功能,并进入相应的界面。如果不想进入相应的界面,按ESC可以后退到主界面。整个流程图如下开始动态加载单词库主界面添加Y添加,删除,查询界面删除YY查询YN结束启动模拟器Y图32总体流程图34系统关键技术在ANDROID平台下开发电子词典所采用的关键技术有以下几点1对数据库数据(单词库)的导入、导出(对FILEEXPLORER的DOS操作或鼠标操作)2模糊查询3单词的添加、删除、修改复杂性分析1当启动模拟器后,ANDROID平台会自动启动DDMS功能,把已有的功能模块的FILE文件自动生成镜像文件。可以在DOS下输入ADBEMULATORTCP5555SHELL来进入数据库,并输入指定位置的的数据库名称,并打开相应的文件查看。利用模拟器自带的PUSH和PULL功能来实现单词库导入和导出。其复杂度中等。2界面查询功能的实现需要了解ANDROID平台下的定位操作,也是SDK中的基本功能之一。其复杂度较小。3添加、删除、查询功能的实现需要查看底层代码。深入了解后可以在程序中直接使用相关的函数。35数据库的设计数据库名称SQLITEDB表名DICT表中字段名称ID,TITLE,BODY说明TITLE存放英文单词。BODY存放相应的英文单词的中文解释。数据库定义为SQLITEDB的原因是ANDROID平台下采用的数据库是SQLITE3,运行后生成数据库的名称DB文件。定义好的外部数据库可以直接导入到模拟器下的位置为/DATA/DATA/COMGEWEIDICTIONARY/DATABASES/SQLITEDB。这样单词库的数据就可以直接在模拟器中显示出来。在DOS下查看ANDROID下的数据库文件的内容如下SQLITE/DATA/DATA/COMGEWEIDICTIONARY/DATABASES/SQLITEDB/DATA/DATA/COMGEWEIDICTIONARY/DATABASES/SQLITEDBMODELINEMODELINESELECTFROMDICT词汇单词ID单词单词解释单词备注单词例句词性图33数据库ER图4系统实现本章阐述了电子词典中各个功能的实现,并且对该软件实现过程中的主要问题进行了分析并提出了解决方案。根据上章得知,该软件包括界面布局、查询、动态装载和定位、增删改、显示尺寸以及动态导入和导出等功能模块。41查询模块的实现查询模块的功能就是把查询到单词的中文解释在界面中显示出来。在屏幕中单击要查询的单词或输入要查询的单词,另一个界面中显示出单词和单词的中文解释。实现过程设置6个静态字段包括3个数据库中表字段的名称、数据库的名称、表的名称和数据库的版本(SQLITE版本默认为3)。首先,创建数据库,并通过模拟器把外部单词的数据库导入,修改创建数据代码将其改为已打开的数据库。其次,通过调用函数PUBLICCURSORQUERYSTRINGTABLE,STRINGCOLUMNS,STRINGSELECTION,STRINGSELECTIONARGS,STRINGGROUPBY,STRINGHAVING,STRINGORDERBY来实现查询功能,并在相应的EDITTEXT中显示出查询的信息。图41查询界面42添加模块的实现添加单词的功能就是在数据库中添加没有的单词。当点击菜单栏中的添加按钮后,会进入另一个界面,在此界面中输入要添加的单词。由于API未支持中文的输入,所以单词的释义还不能添加。添加后的单词会自动进入数据库中并保存下来。实现过程在EDITTEXT中输入英文单词,调用DICTIONARYEDITTEXTJAVA中的SAVESTATE函数。在此函数中调用CREATENOTE方法,参数为输入的内容。此内容的获取是通过读取当前在EDITTEXT中的字符串,利用INSERT方法把读取到的内容插入到数据库中,从而完成对单词的添加。图42添加界面43删除模块的实现删除单词功能的实现过程是在点击菜单栏的删除键,前提已经选中要删除的单词。界面会弹出一个消息栏,提示单词已经删除,并且在数据库中该单词也已经删除。实现过程删除功能的实现过程调用函数PUBLICINTDELETESTRINGTABLE,STRINGWHERECLAUSE,STRINGWHEREARGS操作数据库。具体的参数如下DELETEDATABASE_TABLE,KEY_ROWID“ROWID,NULL0根据ID来进行单词的删除。图43删除界面44装载模块的实现动态装载模块在现阶段仅仅实现了手动加载。从模拟器加载进来外部已经生成好的DB文件。利用模拟器中的PUSH和PULL可以把单词库文件导入。图44加载界面图45主界面45系统交互界面的实现ANDROIDXML布局文件的大体的结构很简单。它是一个标签的树,任何一个标签就是VIEW类的名字。在这个例子中,它是一个很简单的只有一个元素的树,一个TEXTVIEW。你可以使用任何继承自VIEW类的名字作为标签的名字。包括在你的代码中自定义的VIEW类。这个结构可以很容易的构建界面,它比你在源代码中使用的结构和语法更简单。这个模式的设计灵感来自于WEB开发。就是可以将界面和应用程序逻辑分离的模式。本软件关于界面布局的设置主要是与DICTIONARY_EDITXML,DICTIONNARY_LISTXML,STRINGXML文件有关。相关文件具体说明如下DICTIONARY_EDITXML采用的是线性布局。本布局的具体含义是设置的垂直或水平的属性值来排列所有的子元素。通过两个EDITTEXT、一个BUTTON和两个TEXTVIEW来实现两个文本框(在界面视图中包含)和一个按钮(SAVE),并设置其相关的属性值。该布局体现在对单词添加功能和对单词查询功能进行操作时显现的界面。DICTIONARY_LISTXML采用的也是线性布局。该布局通过两个界面元素LISTVIEW和TEXTVIEW,实现了当从数据库中导入的单词在主界面中动态的加载和显示时,会自动的扩充单词在主界面中显示的行数,并根据模拟器的尺寸来进行调整。STRINGXML该文件主要是设置在界面中显示出的中文和英文信息(标题等显示在界面中的信息)。DICTIONARY_EDITXML5系统测试及性能分析51系统测试图51总体性能图图52主类DICTIONARYJAVA测试图图53工程测试图该图说明代码结构良好,不需要进行重构。(红线在绿色的范围之内)复杂度较小。而在DICTIONARYEDITJAVA文件中我们可以看到图54DICTIONARYEDITJAVA测试图说明该段代码需要进行重构,进行重构的方法可以从下图看出图55函数复杂度测试图在ONCCREATE方法的复杂度大到了9,说明该方法需要进行改进和重构。图56主方法测试图测试总体来说,需要进行重构的方法较少,整体性能较好。表52数据测试表输入值预期结果实际结果结论添加新词汇测试输入ABNORMAL,单击保存添加ABNORMAL到数据库添加ABNORMAL到数据库添加成功删除单词测试选择单词BASE并点击删除按钮只能删除用户保存过的单词,不能删除掉系统自带的单词单词BASE从数据库中删除。删除成功查询单词测试输入AD查询结果以AD开头的单词。如ADMIN查询结果ADMIN查询成功动态加载和导出功能测试动态加载和导出,点击PUSH和PULL并调整屏幕尺寸从页面中显示出单词库中的单词(尺寸自动调整)成功从页面中显示出单词库中的单词(尺寸自动调整)加载成功尺寸调整成功6总结与展望虽然基于ANDROID平台开发的电子词典的应用软件还很不完善,例如不能进行汉英的功能查询。但本课题完成了电子词典软件的添加,删除,查询基本功能。不足之处在于界面设计不够完善,更多更好的功能没有实现。下一版本的系统将从以下几个方面进行功能扩展1扩展电子词典软件的模糊查询功能,可以利用网络利用该平台下开发的GOOGLE搜索的功能,提供在线翻译的功能。2电子词典软件可以自动的装载需要加入的单词库。3代码和界面效果的优化。提供更为丰富的界面设计,优化代码使结构更加合理,反应速度会更快。4扩展功能,增加多单词的翻译,即全文翻译等功能参考文献1HTTP/WWWANDROIDINCOM/ANDROID开发者论坛2HTTP/WWWANDROIDLABCN/ANDROID实验室3HTTP/WWWANDROIDFANSNET/BBS/INDEXPHPANDROID爱好者4HTTP/WWWSQLITECOMCN/SQLITE中文社区5HTTP/WWWLINUXFANSORG中国LINUX论坛6HTTP/WWWANDROIDCHINACOMANDROID中国论坛7HTTP/CODEGOOGLECOM/ANDROID/ANDROID官方网站8郎波,JAVA程序语言设计,北京清华大学出版社20059BRUCEECKELJAVA编程思想北京机械工业出版社200710RAJKAMALEMBEDDEDSYSTEMSARCHITECTUREPROGRAMMINGANDDESIGN北京清华大学出版社200511DANIELWLEWISFUNDAMENTALSOFEMBEDDEDSOFTWARE北京高等教育出版社2005致谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。致谢四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。回首四年,取得了些许成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论