欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    大学毕业论文-—基于google+android平台电子辞典软件设计与实现.doc

    • 资源ID:88287416       资源大小:1.27MB        全文页数:31页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    大学毕业论文-—基于google+android平台电子辞典软件设计与实现.doc

    大连理工大学硕士(论文)大连理工大学硕士学位论文基于google android平台电子词典软件的设计与实现学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日摘 要本文阐述了在Android平台下电子词典软件的设计与实现过程。其目的是让人们能够在基于Google Android平台的移动设备上享用英汉词汇翻译功能。系统实现了英汉词汇查询、添加,删除等功能。在词汇存储及检索方面,系统使用了Android内置的小型嵌入式数据库Sqlite的开发接口,支持单词的模糊检索和词库导入功能。平台基于Java语言开发完成,在不同型号的设备模拟器上测试通过。关键词:Android平台;电子词典软件;嵌入式开发;AbstractIn this paper, we describe that electronic dictionary software for the design and implementation process in Google android platform. Its purpose is the development of this platform under the English-Chinese electronic dictionary translation features the design and implementation, Its default use of small embedded database -Sqlite,the platforms language is java programming language and use the platform provided by the simulator. enabling users facilitate to use any simple functions that the English words for the Chinese explained what the software achieved words addition, delete, modify on mobile phones. The software design and development based on the java language.Key words: platform;simulator;database目 录1 前言11.1 系统开发背景12 系统概述22.1 系统需求分析22.2 Android平台结构23 系统设计43.1 系统需要解决的主要问题43.2 系统功能框架43.3 系统总体流程图63.4 系统关键技术73.5 数据库的设计74 系统实现94.1 查询模块的实现94.2 添加模块的实现104.3 删除模块的实现114.4 装载模块的实现124.5 系统交互界面的实现145 系统测试及性能分析175.1 系统测试176 总结与展望23参考文献24致 谢25V大连理工大学硕士(论文)1 前言1.1 系统开发背景目前,市场上使用较多的智能手机操作系统包括Symbian、Palm Os、windows Mobiles Linux等,谷歌基于Linux的手机软件Android一度被业内视为最有希望的移动平台。Android的强势进入不但给Linux带来了新的生机,也加剧了Linux移动平台内部的竞争,开发这样一个手机软件平台的原因之一,就是30亿的手机用户享受近年来各种各样的技术创新,特别是在互联网方面的各种技术创新。在这样的基础和前景下,基于android平台下设计电子词典应用软件,可以在android平台下更好的学习相关技术。2 系统概述2.1 系统需求分析针对本课题在当前google提供的SDK的最新版本的开发过程中,汉英功能暂不能实现,只能进行英汉功能模块的开发,在使用数据库方面使用默认自带的sqlite嵌入型的小型数据库。尽管不如完全面向对象的数据库(例如db4o)开发的更加方便。但当完成开发后,可以尝试用db4o来取代sqlite数据库。这样就使整个数据库的操作效率更加完善。系统总体业务可以描述为以下几点:1) 在主界面是否能显示出数据库中的单词,并按一定次序显示出来。2) 显示菜单功能,是否能进行功能键的判断并进行相应的测试。3) 运行状态的判断,根据对菜单功能进行测试得到的结果,对当前状态进行判断。4) 异常的出现,判断可能出现的异常,并对不同的功能进行测试。5) 模拟器的重新启动,清除在模拟器下操作功能出现的异常情况。2.2 Android平台结构以下图表展示了Android操作系统的主要组成部分。图2.1 Android系统架构图3 系统设计本章对系统的功能框架以及各个功能模块之间的关系进行描述,使用面向对象的思想对系统的设计方法进行分析,设计了系统中的相关类。3.1 系统需要解决的主要问题基于在android平台下设计电子词典软件需要解决以下几个问题:数据库使用情况:当前android平台采用的是sqlite数据库。把单词库作成“.db”文件导入到android平台下的sqlite数据库。首要问题是在初始化时需要创建的数据库名称,并且表名要和导入的数据库名称一致。此外还要熟悉File explorer的文档结构。布局问题:在android平台下开发应用软件,最重要的是布局问题。在该平台中采用的是xml文件来设置布局。在SDK平台下,提供了包括图片、文字显示、以及xml文件的布局设计方法。在此基础上,开源爱好者也开发出一个可视化的布局工具。虽然控件不是很丰富,但随着android平台被更多广大爱好者的关注,更多更好的布局工具将会出现在我们面前。3.2 系统功能框架在设计系统的功能架构时,主要分为查询、动态装载和定位、增删改、显示尺寸、动态导入和导出等功能模块。系统模块结构示意图如下:图3.1 系统功能结构示意图英汉查询功能模块中包括了英文查询功能,并且还实现了模糊查询功能。主要操作是在主界面中单击查询和输入动态查询。 单词的增删改功能包括单词的增加,删除,修改功能。用户可以向单词库中增加、删除、修改单词库中的单词。导入和导出功能现在只能手动在模拟器中才能实现单词库的导入和导出的功能。详细的处理过程:1) 首先,配置好数据库。使数据库支持模拟器文本框的检索。通过模拟器的文本框进行单词输入。通过数据库进行匹配,并将结果输出到屏幕。2) 其次,把不同类型的文件(英文单词库)制作成一个.db文件。通过File explorer,使得sqlite数据库可以动态的导入。3) 添加4个功能模块,分别为:添加词汇功能、删除功能、查询功能以及导入功能(单词库文件)。4) 进行屏幕尺寸的调配,使得中心屏幕更适合用户的要求。3.3 系统总体流程图启动模拟器后,模拟器会自动加载指定的单词库,然后进入主界面,并在主界面中把单词库中的单词显示出来,而且会根据屏幕的大小自动调整显示出的单词数量。然后在菜单栏中可以选择添加、删除和查询功能,并进入相应的界面。如果不想进入相应的界面,按ESC可以后退到主界面。整个流程图如下:图3.2 总体流程图3.4 系统关键技术在android平台下开发电子词典所采用的关键技术有以下几点:1) 对数据库数据(单词库)的导入、导出(对File explorer的dos操作或鼠标操作)2) 模糊查询3) 单词的添加、删除、修改复杂性分析:1) 当启动模拟器后,android平台会自动启动DDMS功能,把已有的功能模块的File文件自动生成镜像文件。可以在dos下输入:adb emulator-tcp-5555 shell来进入数据库,并输入指定位置的的数据库名称,并打开相应的文件查看。利用模拟器自带的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 .> .mode line.mode lineSelect *from dict;图3.3 数据库E-R图4 系统实现本章阐述了电子词典中各个功能的实现,并且对该软件实现过程中的主要问题进行了分析并提出了解决方案。根据上章得知,该软件包括界面布局、查询、动态装载和定位、增删改、显示尺寸以及动态导入和导出等功能模块。4.1 查询模块的实现查询模块的功能就是把查询到单词的中文解释在界面中显示出来。在屏幕中单击要查询的单词或输入要查询的单词,另一个界面中显示出单词和单词的中文解释。实现过程:设置6个静态字段包括3个数据库中表字段的名称、数据库的名称、表的名称和数据库的版本(sqlite版本默认为3)。首先,创建数据库,并通过模拟器把外部单词的数据库导入,修改创建数据代码将其改为已打开的数据库。其次,通过调用函数public Cursor query(String table, String columns, String selection, String selectionArgs, String groupBy, String having, String orderBy)来实现查询功能,并在相应的editText中显示出查询的信息。 图4.1 查询界面4.2 添加模块的实现添加单词的功能就是在数据库中添加没有的单词。当点击菜单栏中的添加按钮后,会进入另一个界面,在此界面中输入要添加的单词。由于api未支持中文的输入,所以单词的释义还不能添加。添加后的单词会自动进入数据库中并保存下来。实现过程:在editText中输入英文单词,调用dictionaryeditText.java中的saveState()函数。在此函数中调用createNote()方法,参数为输入的内容。此内容的获取是通过读取当前在editText中的字符串,利用insert()方法把读取到的内容插入到数据库中,从而完成对单词的添加。图4.2 添加界面4.3 删除模块的实现删除单词功能的实现过程是在点击菜单栏的删除键,前提已经选中要删除的单词。界面会弹出一个消息栏,提示单词已经删除,并且在数据库中该单词也已经删除。实现过程:删除功能的实现过程调用函数public int delete(String table, String whereClause, String whereArgs) 操作数据库。具体的参数如下:delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0;根据ID来进行单词的删除。图4.3 删除界面4.4 装载模块的实现动态装载模块在现阶段仅仅实现了手动加载。从模拟器加载进来外部已经生成好的.db文件。利用模拟器中的push和pull可以把单词库文件导入。图4.4 加载界面图4.5 主界面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:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><LinearLayout android:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="string/title" /><EditText android:id="+id/title" android:layout_width="wrap_content"android:layout_height="wrap_content" android:layout_weight="1"/></LinearLayout><TextView android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="string/body" /><EditText android:id="+id/body" android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_weight="1"android:scrollbars="vertical" /><Button android:id="+id/confirm" android:text="string/confirm"android:layout_width="wrap_content"android:layout_height="wrap_content" /></LinearLayout>5 系统测试及性能分析5.1 系统测试图5.1 总体性能图图5.2 主类dictionary.java测试图图5.3 工程测试图该图说明代码结构良好,不需要进行重构。(红线在绿色的范围之内)复杂度较小。而在dictionaryEdit.java文件中我们可以看到:图5.4 dictionaryEdit.java测试图说明该段代码需要进行重构,进行重构的方法可以从下图看出:图5.5 函数复杂度测试图在onCcreate()方法的复杂度大到了9,说明该方法需要进行改进和重构。图5.6 主方法测试图测试总体来说,需要进行重构的方法较少,整体性能较好。表5.2 数据测试表输入值预期结果实际结果结论添加新词汇测试:输入abnormal,单击保存添加abnormal到数据库添加abnormal到数据库添加成功删除单词测试:选择单词base并点击删除按钮只能删除用户保存过的单词,不能删除掉系统自带的单词单词base从数据库中删除。删除成功查询单词测试:输入ad查询结果:以ad开头的单词。如:admin查询结果:admin查询成功动态加载和导出功能测试:动态加载和导出,点击push和pull并调整屏幕尺寸从页面中显示出单词库中的单词(尺寸自动调整)成功从页面中显示出单词库中的单词(尺寸自动调整)加载成功尺寸调整成功6 总结与展望虽然基于android平台开发的电子词典的应用软件还很不完善,例如不能进行汉英的功能查询。但本课题完成了电子词典软件的添加,删除,查询基本功能。不足之处在于界面设计不够完善,更多更好的功能没有实现。下一版本的系统将从以下几个方面进行功能扩展:1) 扩展电子词典软件的模糊查询功能,可以利用网络利用该平台下开发的 google 搜索的功能,提供在线翻译的功能。2)电子词典软件可以自动的装载需要加入的单词库。3) 代码和界面效果的优化。提供更为丰富的界面设计,优化代码使结构更加合理,反应速度会更快。4) 扩展功能,增加多单词的翻译,即全文翻译等功能参考文献1 Android开发者论坛2 Android实验室3 Android爱好者4 Sqlite中文社区5 http:/www.linuxfans.org 中国Linux论坛6 Android中国论坛7 Android官方网站8 郎波,java程序语言设计,北京:清华大学出版社. 20059 Bruce Eckel java编程思想 北京:机械工业出版社 200710 Raj Kamal EMBEDDED SYSTEMS ARCHITECTURE PROGRAMMING AND DESIGN 北京:清华大学出版社 200511 Daniel W.Lewis FUNDAMENTALS OF EMBEDDED SOFTWARE 北京:高等教育出版社 2005致 谢时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。本次毕业设计大概持续了半年,现在终于到结尾了。本次毕业设计是对我大学四年学习下来最好的检验。经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。这期间凝聚了很多人的心血,在此我表示由衷的感谢。没有他们的帮助,我将无法顺利完成这次设计。首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。从他身上,我学到了许多能受益终生的东西。再次对周巍老师表示衷心的感谢。其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。致 谢四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的难舍与眷恋。从这里走出,对我的人生来说,将是踏上一个新的征程,要把所学的知识应用到实际工作中去。回首四年,取得了些许成绩,生活中有快乐也有艰辛。感谢老师四年来对我孜孜不倦的教诲,对我成长的关心和爱护。学友情深,情同兄妹。四年的风风雨雨,我们一同走过,充满着关爱,给我留下了值得珍藏的最美好的记忆。在我的十几年求学历程里,离不开父母的鼓励和支持,是他们辛勤的劳作,无私的付出,为我创造良好的学习条件,我才能顺利完成完成学业,感激他们一直以来对我的抚养与培育。最后,我要特别感谢我的导师刘望蜀老师、和研究生助教吴子仪老师。是他们在我毕业的最后关头给了我们巨大的帮助与鼓励,给了我很多解决问题的思路,在此表示衷心的感激。老师们认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢他耐心的辅导。在论文的撰写过程中老师们给予我很大的帮助,帮助解决了不少的难点,使得论文能够及时完成,这里一并表示真诚的感谢。25

    注意事项

    本文(大学毕业论文-—基于google+android平台电子辞典软件设计与实现.doc)为本站会员(教****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开