




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生毕业设计论文中文题目安卓电子词典设计英文题目electronicdictionarydesignbasedonandroid学生姓名吴泳涛班级12通信2学号19学院电子信息与机电工程学院专业通信工程指导教师程绪信职称副教授肇庆学院本科生毕业设计(论文)声明本人郑重声明:所呈交的本科毕业设计(论文)是本人在肇庆学院学习期间,在指导教师指导下独立完成,内容真实可靠,无抄袭、剽窃等学术道德不端行为,除文中已经注明引用的内容外,本文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。同时,本人完全了解并愿意遵守肇庆学院有关保存、使用
2、毕业论文(设计)的规定,其中包括:1 .学院有权保管并向有关部门递交毕业设计(论文)的原件、复印件和电子文件。2 .学院可以采用影印、缩印、电子文件或其他复制方式保存毕业设计(论文)3 .学院可以以学术交流为目的,赠送和交换毕业设计(论文)。4 .学院可以允许毕业设计(论文)被查阅或借阅。5 .学院可以按著作权法的规定公布毕业设计(论文)的部分内容或全部内容保密毕业设计(论文)在解密后遵守此规定。6 .除另有科研合同或其他法律文书制约,本文的科研成果属于肇庆学院。本声明的法律结果将完全由本人承担。作者签名:日期:年月日本科生毕业论文(设计论文)学生签名年月日指导教师签名年月日评阅教师签名年月日
3、中文摘要近几年,智能手机一直处于高速发展状态,智能手机操作系统份额的越来越高。智能操作系统与非智能操作系统最大的区别在于其多种多样的应用功能。用户只需拿出手机,点击程序应用便能享受到上网,查询,聊天,购物,订餐,学习等服务。正如我们所见,智能操作系统极大地方便了人们的生活。因此,开发智能手机的应用程序将有广阔的发展前景。在潜力如此巨大的市场中,开发一款便民利民的安卓应用成为了当务之急。在开发前,根据自己的能力,我给自己的毕业设计制定了设计目标并且提出了一些要求。从最初网上和图书馆查阅资料,到功能模块设计,编码设计再到编码查错,最后到系统测试,无一不是我学习成长的历程。通过深入学习java语言技
4、术以及安卓开发基础,我一步一步地朝着目标前进,逐渐地完成各个系统设计的功能。本英文词典学习系统界面简洁,功能多样,具有良好的体验。在使用一个月后,都没有发现重大问题,满足普通用户查询单词,翻译短句,记忆测试的需求,并为用户提供方便快捷的服务。关键词:安卓;电子词典设计;智能手机平台AbstractInrecentyears,thesmartmobilephonearedevelopinginahighspeed,whichthepercentageofthesmartphoneoperatingsystemisgrowinghigherandhigher.Thegreatestdifferen
5、cebetweensmartphoneoperatingsystemandtheusualoperatingsystemisthevarietiesofapplications.Weonlyneedtotakethephoneandopentheapplication,thenwewanttogetaccesstotheInternetforchatting,shopping,orderingmeals,learning,andsoon.Aswecansee,smartphoneoperatingsystemprovidespeople'slifewithgreatconvenienc
6、e.Thereforeitspromisingtodevelopthesmartphoneapplication.Insuchgreatpotentialmarketitispressingtodevelopanandroidapplicationthatserversforpeople.Beforedevelopingtheapplication,accordingtomyability,Ihavesettargetformydesignandputforwardsomerequirements.Atfirst,IsearchinformationfromthelibraryandtheIn
7、ternet.Itisagreatprocessfromfunctionmoduledesign,codingdesign,codingerrorchecking,andfinallytothesystemtesting,whicharemylearningprocess.Byin-depthstudyofthetechnologyofJavaskillsandthebasisofAndroiddevelopment,Istepbysteptowardsthegoalandgraduallycompletethefunctionofeachsystemdesign.TheEnglishdict
8、ionarylearningsystemownsexcellentexperiencebecausetheuseranterfaceisverysimpleandthefunctionisofgreatvarieties.Afterusingamonthlater,Icannotfindanyproblems.Ordinaryusersaresatisfiedwithqueryingwords,translatingphrasesandtestsofmemory.Inasense,itprovidesuserswithconvenientandefficientservices.Keyword
9、s:android;electronicdictionarydesign;smartphoneplatform第1章绪论11.1 研究现状和发展趋势11.2 研究意义31.3 研究内容31.4 研究目标3第2章系统分析42.1 需求分析42.2 业务流程分析42.3 数据流图52.4 数据字典62.5 性能分析7第3章系统开发环境及相关技术83.1 系统开发环境83.2 JAVA技术介绍93.3 SQLite数据库介绍93.4 Android系统平台123.4.1 Android系统平台的特点123.4.2 Android系统平台的架构133.4.3 Android应用程序框架133.4.4
10、系统运行库143.5 Android程序的结构和运行机制15第4章程序设计174.1 功能设计174.2 数据库设计184.2.1 概念结构设计184.2.2 数据库表设计19第5章程序开发215.1 文件结构与用途215.2 系统实现225.2.1 启动页235.2.2 首页235.2.3 单词查询245.2.4 在线句子翻译265.2.5 记忆测试265.2.6 生词本27第6章系统测试296.1 系统测试的重要性296.2 系统测试的目的296.3 测试实例的研究与选择296.4 测试环境与条件306.5 系统运行情况30总结参考文献致谢附录AI第1章绪论本章首先介绍了当今智能手机系统的
11、发展现状以及英语全球化的发展趋势,根据市场的需求分析得出需要研究的内容,目标以及意义。研究内容主要包括学生的需求分析和软件系统设计。1.1 研究现状和发展趋势NetMarketShare分享了2015年9月份全球手机系统的数据,安卓手机操作系统市场份额位居第一位,达到了53.54%。紧随其后白是苹果的iOS智能手机操作系统,它的市场份额有37.60%,相比上月的40.82%下降了3个百分点。第三大智能手机系统虽然是WindowsPhone,但市场占有率只有2.48%,与塞班差距并不大,后者市场份额为2.44%。通过数据又t比得知,iOS系统平稳发展,不开源,属于发烧级,是时尚年轻人选择的iph
12、one手机时不可选择的系统。黑莓系统目前应用受限,中国市场不大,只有黑莓热爱者坚持着一代又一代。塞班系统常用应用的都有,但是游戏偏少,系统容易上手,操作简单1owindowphone系统用户体验流畅度很好,界面简洁,美观。但是依然受限于软件,和用户操作权限问题(比如自定义铃声),如果解决这些问题,可能会有市场空间。至于安卓的发展,因为开源且免费的原因,将会一直作为大多数手机的系统存在下去。很明显,智能手机将是社会通信发展的趋势了。因为安卓平台的智能机在手机市场中份额越来越重,所以越来越多人会选择安卓手机。所以我选择了安卓平台进行开发。今天,英语作为主流国际通用语言广泛应用于世界各地。在全球范围
13、内,使用人数最多和流通率最高的语言便是英语。以英语作为母语的国家有十几个,四十八个国家的官方语言是英语。世界上接近三分之一的人口(也就是二十多亿人)讲英语。在一些母语不是英语的国家,他们的第二语言一般是英语。如果是搞学1术研究,想要深造都得写英文论文,至少要读英文论文,要看明白英文,还得理解表达的内容。如果是从事软件开发行业,许多软件都是英文版,许多好的论坛都是英文的,比如stackoverflow等。IT企业许多是外资的,做生意的许多人喜欢和外国人做,邮件电话全是英文2。说到出国,不会英文比较麻烦,在国外还没上飞机,各种英文标版要看懂,英文广播要听懂,有时候要问路也要讲英文。还没下飞机各种英
14、文表格要填写,出关的时候关员问你一下问题,英文的。在各个景点旅馆交流用英文都不错。全世界使用范围最广泛的语言便是英语。全世界百分之六十的电视节目是讲英语,百分之七十的e-mail是使用英语书写,就连我们的电脑键盘是标志着各种英文单词。一些官方的或比较重要的文件都是使用英语或者附带英文注释。还有,英语是外贸行业沟通的第一语言。此外,在医学、建筑、科技,文化等领域,都与英语息息相关。我们国家的发展也需要英语。中国自改革开放以来确实发生了翻天覆地的变化,社会得到了全面的发展。但是,在很多技术层面,我们仍然是落后于西方先进国家。单靠自己搞研究是不可能的。清朝闭关锁国的历史是告诉我们要发展,要进步,要在
15、较短的时间内掌握各种技术,就必须学习引进发达国家先进的技术。而学习的必要条件便是要掌握通用的技术交流语言-英语。举个例子,安卓软件开发-尽管目前的许多编程软件已经有汉化版,但要深入进行应用程序开发,就得学习国外的先进编程技术。然而高新技术资料很多都是用英语撰写的,单凭翻译还是难以理解的,只有自己理解了才会运用。同样为发展中国家的印度,尽管在许多方面发展都中国落后,但是印度的软件开发行业水平却比中国高得多。其中一个重要原因就是印度程序开发者英语应用水平基本比中国程序开发者高。如今是全球化的时代,在学习别人先进技术,经验的同时,我们也需要和其他国家展开各种技术上与经济上的合作。假如我们不懂英语,便
16、无法与合作方沟通交流,也更不用说合作了。打比方,某公司创造性地开发了一个具有潜力巨大的产品,一旦进入国际市场,将是一片光明。但是偏偏公司没人会说英语,不能很好地与国外客户沟通,不能将产品的优良性能展示出来,结果造成了重大损失。可见,英语无处不在,一直存在我们身边。英语对于我们而言,它是一种交流工具,是我们与世界先进技术,资源共享的重要桥梁1.2 研究意义在信息快速发展的今天,手机应用逐渐成为人们生活的必需品。英语在全球范围多个领域被广泛使用。作为一名通信专业的学生,我希望通过自己四年所学的知识,顺应潮流发展趋势,开发一款基于安卓平台的英文学习系统,方便同学们英语单词的学习。当我们在学习记忆英文
17、单词时,只靠死记硬背往往难以记住,更何况还要翻越厚厚一本重达几斤的牛津词典。为了解决传统学习英文单词的难点,本人设计了单词查询,记忆测试等多个模块,人们只需打开应用,输入单词,便能查询到释义,并且保存到生词本以便学习。通过这款基于安卓系统的英文词典学习系统来降低单词记忆的难度,服务大众,更好地发挥对社会发展的实际作用。1.3 研究内容1、根据学生英语学习情况,研究学生英语学习需求2、根据需求分析并研究软件系统功能设计。3、研究系统的调试过程。1.4 研究目标(1)掌握英文词典学习系统的设计流程(2)掌握多种组件在安卓开发中的作用(3)掌握英文词典学习系统的调试运行过程。第2章系统分析本章主要介
18、绍了软件系统的需求分析,业务流程分析,数据流图,数据字典以及性能分析。主要的需求包括:在离线状态对生僻单词的查询,在线句子翻译,自由添加查看及删除生词本,能够对添加进生词本的单词进行记忆测验。2.1 需求分析基于对传统单词学习系统的了解,体验了传统单词学习的过程,分析系统需求,概括了本系统所需求的功能:1 .实现在离线状态对生僻单词的查询。2 .实现应用有道API传输方式进行在线句子翻译。3 .实现自由添加查看及删除生词本。4 .能够对添加进生词本的单词进行记忆测验的测试功能。根据上述,基本了解系统的功能需求。本软件是一个Android客户端应用程序,只需打开应用程序便可在线句子翻译。客户端系
19、统的在线句子翻译信息数据是调用有道API服务端应用程序获取的,后台服务器根据客户端发出的请求,返回XML数据信息结果。2.2 业务流程分析业务流程分析指引着开发者前进的方向,有效地帮助开发者寻找业务处理中出现的问题并弥补业务缺漏。业务流程分析是一般用业务流程图表示。具体业务流程如图2-1所示::用户)英译汉,汉译英在线句子翻译一一一生词本,记忆测试4词库信息,有道API-_LJ生词本信息图2-1业务流程图2.3数据流图数据流动过程反映了实际业务的数据处理模式。顶层数据流图如图2-2所示:单词信息a/用户K相关缶息图2-2顶层数据流图由于数据流图过多,无法把数据流图全部列举出来,数据流图,其它的
20、数据流图以此类推。一:英语学习平台所以本文只列出了顶层2.4数据字典数据字典描述数据流图中使用到的一些重要参数,包括数据元素条目、数据流、处理过程、数据存储和外部实体。3数据元素条目包括单词信息,生词本信息,英语句子信息,汉英信息。单词信息数据元素如表2-3所示:表2-3单词信息数据元素数据元素条目总编号:1-101编号:101名称:单词信息编号101说明:单词信息的编号数据值类型:离散生词本信息数据元素如表2-4所示:表2-4生词本信息数据元素数据元素条目总编号:1-102编号:102名称:生词本信息编号102说明:生词本信息的编号数据值类型:离散英语句子信息数据元素如表2-5所示:表2-5
21、英语句子信息数据元素数据元素条目总编号:1-103编号:103名称:英语句子信息编号103说明:英语句子信息的编号数据值类型:离散汉英信息数据元素如表2-6所示:表2-6汉英信息数据元素数据元素条目总编号:1-104编号:104名称:汉英信息编号104说明:汉英信息的编号数据值类型:离散2.5性能分析性能:系统程序响应速度和处理速度快,错误率低以及安全系数高第3章系统开发环境及相关技术本章主要介绍了系统的开发环境和android平台架构和运行机制,主要使用的技术包括java技术。系统数据库主要采用SQLite数据库,本章还介绍了SQLite数据库的建立,增加,查询。3.1系统开发环境操作系统:
22、Windows10profession系统开发语言:JavaEE数据库:SQLite开发平台:Eclipse开发环境需要如下插件:(1)JavaSDK:JDK(JavaSoftwareDevelopmentKit),即java软件开发工具包),它是开发调试运行所必不可缺少的工具。4(2)Eclipse:Eclipse是一个开放源代码的,通过插件组件构建开发环境,基于Java的可扩展开发平台。Eclipse附有了一个标准的插件集,包含Java开发工具。eclipse本身仅仅是一个框架和一组服务。5(3)ADT:是一个压缩包文件,全称为AndroidDevelopmentTools,它是基于ecl
23、ipse平台用来开发安卓应用程序的插件。6(4)AndroidSDK:(androidsoftwaredevelopmentkit),即安卓软件开发工具包。它是一个包含多种专用软件包、框架包、插件等运行应用程序所需的开发工具集合。它包含开发应用所需要的jar文件、运转环境及相关工具。73.2 JAVA技术介绍Java是发展至今仍然十分流行的一种高级计算机编程语言。之所能持续流行至今的原因非常之多,个人认为这得归功于它的超高的可移植性、面向对象开发、跨平台等优点。Java语言有说不尽的优点,它对人类历史的影响不可一日而言。java是自由和开源的代名词,成为全世界各种领域学习者为之疯狂的语言。随着
24、Java的不断发展,慢慢衍生出了各种各样丰富而实用性极强的框架。Java编程语言,对于那些第一次接触软件开发的人来说,想看懂Java编程语言的语法结构相对于iOS,C#和C+来说是非常容易的,而且通俗易懂,非常适合初学者和第一次接触Java编程的学生。这也体现了Java语言对软件开发者甚至软件开发初学者来说十分通俗易懂,容易上手的特点。Java语言作为一种跨平台应用的编程语言中的佼佼者,加上它是以面向对象的软件开发方式进行软件开发的一种编程语言,它极大地简化了编程开发的思维方式,让程序员可以利用更加清晰明了思维方式来进行逻辑程序编写,由于Java具有太多其他操作平台无法比拟的特性,使得Java
25、在各个领域得到了广泛的运用。软件开发者“用Java语言来编写程序的时候,并不需要使用指针,相反而是使用引用来进行程序的编写。Java将C+语言中的指针替换成了引用,从而减少了指针可能带来的不好影响,这大大降低了编程的难度。在延续了C+面向对象开发的思想同时,java还改用接口替换了C+的多态继承和运算符重载语言”综上所述,说明Java编程语言是一种应用十分广泛而且依旧是不可缺少的强力优秀编程语言。3.3 SQLite数据库介绍对于开发者来说,假如说一定要找到一个最轻量级的数据库的话,那么SQLite数据库将会是首选。为什么说SQLite是最轻量级的数据库呢?因为软件开发者在使用这一数据库之前,
26、一般都不用提前安装任何驱动,也不用进行相应9的繁杂的参数配置。与别的数据库相互对比之后,我们便可以轻松看出这个轻量级的SQLite数据库,具有数不完的便利性和好处,这很大程度上减少了软件开发者的代码编译量和减少了开发时间,从而提高程序员的软件开发和代码块查看与修改的效率,也大大减少了程序调试过程中,可能会出现的错误几率甚至会导致程序编译奔溃的情况出现。SQLite被广泛运用在各个领域,而且单线程读写性能和MySQL不相上下,并且保证了ACID性。SQLite数据库广泛运用于手机应用和桌面软件。不仅如此,SQLite还是一个齐全的SQL系统,具有齐全的触发器,反馈等。因为安卓在运行时集成了SQL
27、ite,故任何一个安卓应用均可用SQLite数据库。对于SQL比较熟悉的开发者来说,在安卓开发中使用SQLite非常容易。但是,因为JDBC(javadatabaseconnectivity即java数据库连接)会占用大量的系统资源,因而JDBC对于有内存限制的设备(例如手机)来说并不适合。所以,安卓为我们提供了许多新的API(applicationprogramminginterface,应用程序编程接口)以使用SQLite数据库。在安卓开发中,这些API要求开发者学会运用。数据库存放在data/®目文件夹/databases,目录下。安卓开发中使用SQLite数据库:Activi
28、ties能够经过ContentProvider或者Service访问数据库。接下来详细介绍如何创建数据库,添加数据以及查询数据库。(1)创建数据库安卓自身并不会主动提供数据库。想要在安卓应用程序中运用SQLite,就需要自己创建数据库,自己创建表格、引导并且自己填上相应的数据。安卓中提供了SQLiteOpenHelper类来为我们创建一个数据库。想要创建数据库,我们只需继承SQLiteOpenHelper类网。SQLiteOpenHelper的子类,最少需要实现三个方法:构造函数法:调用父类SQLiteOpenHelper的构造函数。onCreate()法,这个办法需要一个SQLiteData
29、base对象作为参数,根据需要对这个对象填充表并且初始化数据。onUpgrage()法,这个办法需要三个参数,分别为新旧版本号和一个SQLiteDatabase对象。10(2)创建表和索引为了创建表和索引,需要调用SQUteDatabase的execSQL()方法来执行DDL语句。例如,可以执行如下代码:db.execSQL("CREATETABLEmytable(_idINTEGERPRIMARYKEYAUTOINCREMENT,titleTEXT,valueREAL);");这条语句会创建一个名为mytable的表,表有一个列名为_id,并且是主键,这列的值是会自动增长
30、的整数(例如,当你插入一行时,SQLite会给这列自动赋值),另外还有两列:title和value。SQLite会自动为主键列创建索引。通常情况下,第一次创建数据库时创建了表和索引。如果不需要改变表的schema,不需要删除表和索引,删除表和索引,需要使用execSQL()方法调用DROPINDEX和DROPTABLE语句。(3)给表添加数据上面的代码,已经创建了数据库和表,现在需要给表添加数据。像上面创建表一样,可以使用execSQL()方法执行INSERT,UPDATE,DELETE等语句来更新表的数据。execSQL()方法适用于所有不返回结果的SQL语句。例如:db.execSQL(&
31、quot;INSERTINTOwidgets(name,inventory)"+"VALUES('Sprocket',5)");(4)查询数据库类彳以INSERT,UPDATE,DELETE,有两种方法使用SELECT从SQLite数据库检索数据。使用rawQuery()直接调用SELECT语句和使用query()方法构建一个查询。RawQueries正如API名字,rawQuery()是最简单的解决方法。通过这个方法你就可以调用SQLSELECT语句。例如:Cursorc=db.rawQuery("SELECTnameFROMsqlit
32、e_masterWHEREtype='table'ANDname='mytable'",null);在上面例子中,我们查询SQLite系统表(sqlite_mastei)检查table表是否存在。返回值是一个cursor对象,这个对象的方法可以迭代查询结果。11如果查询是动态的,使用这个方法就会非常复杂。例如,当你需要查询的列在程序编译的时候不能确定,这时候使用query()方法会方便很多。RegularQueriesquery()方法用SELECT语句段构建查询。SELECT语句内容作为query()方法的参数,比如:要查询的表名,要获取的字段名,W
33、HERE条件,包含可选的位置参数,去替代WHERE条件中位置参数的值,GROUPBY条件,HAVING条件。3.3Android系统平台3.3.1 Android系统平台的特点(1)是一种应用程序框架,支持系统内部组件的重用与替换。(2)自带有Dalvik虚拟机,负责把Android平台的装置进行集中统一优化处理,提高设备的运行流畅性。(3)系统平台自带有安卓原生浏览器。该浏览器是以开源浏览器搜索引擎作为基础升级优化的新的浏览器,用户使用起来更加得心应手。(4)可以对图形库进行优化处理。(5)数据与数据之间的存储和交流是通过SQLite数据库来进行。(6)多媒体支持现在主流格式的音频、视频和静
34、态图像。(7)带有GSM通讯模组,可进行通讯功能。(8)软件开发和运行需要“Android模拟器、调试工具、运行内存等等这些开发环境,手机软件开发者主要利用Eclipse插件来进行软件编程的开发工作”123.3.2 Android系统平台的架构HomeContact!AwvityMahsfe'rMini出XMPPSerwceANDRQIQRUNTIMLSurtlrEMiiujpfOMTGLfFSC*nwraDrrtfierLocationMsmfwControlProvidersWndc*tijm.igrTelqahofrMwagerReiourEeManifer8luwx?diOdv
35、frbinder(IPCjDdvtrFluhMenxjry口rtwrDivpiDnwifNe5口tionMlftlgETUSBDdwrLiORARIESCoraLbnineiWflbKtWiF*DnwrAudioPowerMi?LTLjjcment图3-1Android架构由图可知,安卓系统框架主要分成了四个部分,分别是Applications(应用程序层)ApplicationFramework(应用程序框架层)LibrariesandAndroidRuntime系统运行库层以及linux底层。3.3.3 Android应用程序框架由于Java语言具有广泛先天优势,具有可移植性、开源性、跨平
36、台性等优点,吸引了大量的软件开发者的目光。利用Java进行的程序编写,程序开发者可以不用另外再自行修改代码,以适配不同的设备,就可以直接编译,可以在市场上的大多数设备平台上进行运行,这就使得Java语言的可移植性、面向对象开发、兼容性优势表现突出。13applicationframeworkActivityMiniverPrelateMftrmtfrWindowConttncMuidfcrProndcnIfe柜phocyReimrceHbtnaftrViewSytttnriLocacbonNwdkjODnM*na;erXMPPScwce图3-2Android应用程序框架对于我们软件开发者来说,
37、这个Android应用程序框架层,是进行软件开发工作的重要步骤。该应用程序层,不但可以使各种代码块的重复调用这一繁琐过程简单化,还可以直接提供给软件开发者该层带有的各种各样的功能模块,有利于软件开发者的应用程序开发工作的方便进行。3.3.4 系统运行库程序库程序库里面包含了Bionic系统库,多媒体库,SGL图形引擎库,SSL软件应用层协议,OpenGLES,SQLite数据库,FreeType和Web浏览器引擎等。图3-3程序库运行库层14AmdrqidRumtime白1ItMschrne图3-4运行库Dalvik虚拟机,是每个程序能正常运行的重要条件。Dalvi
38、k虚拟机具有下列主要特征:(1)专有的dex文件格式。(2)采用的是32位索引值,常量更快。(3)安卓系统里面运行的每个进程,都分别对应着一个虚拟机。通过和其他寄存器进行综合性比较之后,我们从各种寄存器的比较之中可以了解到,基于寄存器实现的虚拟机,虽然表现差强人意,尽管如此,但是它有个比其它同系列寄存器所没有的优点,程序执行代码运行的效率很高。3.3.5 Linux内核层安卓系统的核心系统功能的实现,都依赖于Linux内核9。Linux内核内部自带的驱动有很多,软件程序开发的时候不需要另外添加驱动程序,Linux内核驱动程序自带的有很多,这里就不全部介绍了。3.4Android程序的结构和运行
39、机制安卓软件程序应用的组成结构,主要是由以下四种构造块组成的:Activity,IntentReceiver,Service,ContentProvider经验丰富的软件开发者都会知道并不是每个Android应用程序都必须用到上15面所介绍的四种结构,在软件开发当中,我们只要用到其中的几种组合,就可以完成我们的软件开发工作了。已经了解过4种构造块和确定了应该使用哪几种组合的构造块之后,接下来的就是,在Android/Manifest.xml中把这些准备用上的构造块记录在一份清单上面。androiaManirasLmi16第4章程序设计本章主要介绍了系统的功能设计,数据库设计。其中系统功能设计包
40、括单词翻译,生词本添加和删除,在线句子翻译以及单词的记忆测试功能。数据库的设计包括概念结构设计和数据库表设计。4.1功能设计系统功能设计是一个将软件需求转换成使用软件系统表达的过程。在对词典学习系统的全方位剖析调查的基础上,我制定了英文词典学习系统的总体规划。通过之前的数据流图,我对数据流图进行分析,得到层次化的英文词典学习系统功能模块结构图如图4-1所示:英文学习系统单词翻译汉译英查询生词本在线句子翻译记忆测验图4-1英文学习系统功能模块图174.2数据库设计数据库是系统设计的基础与核心。数据库设计的好坏直接影响系统运行的品质。数据是所有系统设计的基础,数据库设计如金字塔底层一般,假如设计的
41、不合理、不全面,则在开发后期功能增删时将出现许许多多的问题。4.2.1概念结构设计由数据需求分析,可得到系统的实体属性图。英汉实体属性图如图4-2所示:(生词本实体属性图如图-UO单词图4-2英汉实体属性图4-3所小:18图4-3生词本实体属性图4.2.2数据库表设计因为SQUte易便携,使用方便,结构紧凑,高效等优点。所以我彳门选用SQLite数据库作为存放数据的方法,建立数据库b_xuexi,并且建立表。如表4-1所示:表4-1生词本的数据库表a_notes的结构属性数据类型长度说明idinteger11主键id自增nametext英文contenttext中文note_datetext日
42、期1920表4-2汉英词库信息的数据结构属性数据类型长度说明Yinyuvarchar100英语Hanyuvarchar100汉语第5章程序开发本章主要介绍了程序开发的文件结构以及系统的实现过程。系统的实现主要体现在包括启动页,首页,单词查询,在线句子翻译,记忆测试以及生词本等功能的综合实现。5.1文件结构与用途在程序开发时,应先确定“基于安卓平台英文词典学习系统”的工程名为b_xuexi,根据程序模块设计内容,建立b_xuexi工程。使用eclipse打开工程代码的结构如下图。ULJ"典田com.bb.db:J_DbControl.jav.由com.bb.mynote:匕MyNate
43、.javaJMyINoleEditActivity.javsJjMyNoteListActivity.javaJMylNoteViewActivityjava工Se-archListActivity.java以用cotnbb.uit>由com.bb.util目gerGeneratedJavaFiles百Android4.2.2&assets»盟bin巫Andr&idMperties图5-1b_xuexi工程的代码文件b_xuexi工程设计多个命名空间,分别用于保存用户界面、后台、数据库以21及工具等
44、代码文件。为了代码文件结构看起来一目了然。代码文件的名称及说明如表5.1所小:表5-1b_xuexi工程的文件用途说明包名称说明备注Com.bb项目的ActivityCom.bb.pojoPOJO对象封装了数据库表Com.bb.util项目公共服务类安卓所有资源文件都保存在文件res的子目录中。具体各个资源文件用途如表5-2所小:表5-2资源目录文件说明资源目录文件说明drawable-hdpi/ldpi/mdpi*.png,*.jpg这个文件夹是b_xuexi工程所用的高,低,中分辨率图片。layout*.xml贝闻的布局文件valuescolor.xml,dimens.xml,String
45、s.xml,styles.xml分别为保存颜色,尺度,字符串,显小样式的xml文件5.2系统实现英文词典学习系统实现包括启动页,首页以及单词查询,生词本,在线句子查询,记忆测试四大功能模块。225.2.1启动页启动应用后,我们来到了英文学习系统的启动页面。如图5-2所示:炊迎使用手机英文学习系统图5-2系统启动页5.2.2首页启动页3秒后自动来到了英文词典学习系统的首页界面。我们可以清晰地看到英文词典学习系统首页主要包含四大模块:单词查询,生词本,在线句子翻译以及记忆测试。具体如图5-3所示:23图5-3系统首页5.2.3 单词查询点击首页的“单词查询”,我们进入了英文词典学习系统的单词查询界
46、面。单词查询界面主要由两个按钮组成:取消和OK。具体如图5-4所示:24单词查询图5-4单词查询页面输入单词,点击提交,界面,如图5-5所示:即来到了英文词典学习系统的离线查词返回结果列表手机英文学习系统追询结果如下英语pork汉语指苣添加到生词本返回图5-5查询结果页面255.2.4 在线句子翻译点击”在线句子翻译”按钮,即来到了英文学习系统的在线句子翻译界面如图5-6所示:手机英文学习系统5-726thisisabird查询ThisIsaBirdTil是一只鸟”弼塔释义:<1>ThisIsaBM唱片费”】<2>ISTHISABIRD13是口吗图5-6在线查询句子翻译
47、5.2.5记忆测试点击“记忆测试”按钮,即来到了英文学习系统的记忆测试界面。如图所示:135手机英文学习系统英语】sentences下一题图5-7记忆测试点击“下一题”后,显示下一题。如果想要退出,点击“返回主页”,跳转到首页。5.2.6生词本点击“生词本”按钮,即来到了英文学习系统的生词本信息管理界面。生词本包含刷新和自助添加生词功能。具体如图5-8所示:27手机英文学习系统刷li添加sentences图5-8生词本28第6章系统测试系统测试是开发时期最后十分重要的阶段,它是确保软件质量的重要前提。本章主要介绍了系统测试的目的,方法,环境以及环境的运行情况6.1 系统测试的重要性软件测试很重
48、要,但是软件开发过程中的其他阶段同样很重要,而且很多要比软件测试更重要。软件测试的重要性体现在帮助开发组织交付能被用户接受的产品上。6.2 系统测试的目的系统测试的目的,从我个人角度来看,系统测试这个活动最直接的目的是降低风险。从结果来看的话,其实测试的目的就是发现软件的缺陷。6.3 测试实例的研究与选择程序测试的主要方法有:(1)按是否查看程序内部分为:黑盒测试:只看输入和输出。白盒测试:探究程序源码和结构(2)按是否运行程序分为:静态测试,动态测试29(3)按阶段分为:单元测试,集成测试,系统测试,验收测试。鉴于本人能力范围,所以本设计只看功能测试的输入和输出。6.4 测试环境与条件处理器
49、:英特尔酷睿I32348m内存:4GB硬盘:128GB操作系统:微软Windows10professionaleditionAndroid虚拟机版本:4.1JellyBean6.5 系统运行情况经过全部的系统测试,单词查询,生词本,在线句子翻译,记忆测试模块都可以稳定运行。30总结一分耕耘一分收获,经过一个学期的努力,我完成安卓英文词典学习系统软件的设计开发。安卓英文词典学习系统设计的功能基本都能实现,符合大众手机用户的日常使用需求。今天是个资源全球化的时代,英语作为世界第一语言,学好英语是非常有意义的事情,而学英语又得从最基本的单词学起,为了能够有效解决学单词难的问题,我设计出了这款英文词典
50、学习软件,即安卓中英词典。该软件系统具有查询单词,句子翻译,记忆测试等模块,基本上可以为手机用户提供良好的单词学习环境。起初本人对JAVA的浓厚的兴趣引发了我对安卓开发的好奇心。从一开始懵懵懂懂地看视频学习,到后来查阅图书,摸索方法,学习了很多开发技术,接着动手写代码,最后完成了这个软件的制作。软件开发的过程,其实是对学过知识的运用实践的过程。比如在学习安卓环境搭建、环境参数配置,代码增删查改的过程中,学会运用已有的丰富知识去解决未知的问题,网络资源。历史经验往往会告诉我们如何更好地去学习新知识。虽然软件能够正常运行,但是我觉得还存在一些不够完善的地方。首先,全局设计还不够完善,其次用户界面比
51、较单一,功能设计比较简单,还有一些问题需要今后逐一解决。另外,我认为本系统还可以作升级扩展,例如添加例如“每日一句”“新闻资讯”等模块,使功能更加强大,为用户提供舒适优质便捷的服务。31参考文献:1杨丰盛.Android应用开发揭秘M第一版.北京:机械工业出版社.2010.2427.2朱桂英.Android开发应用从入门到精通M.第1版.中国铁道出版社,2011.125-128.3扶松柏,于秀青.Android开发从入门到精通M.第1版.北京希望电子出版社,2012.30-40.4Barra,Hugo."Android:momentum,mobileandmoreatGoogleI/
52、O”.TheOfficialGoogleBlog.Retrieved10May2015.5靳岩,姚尚朗.Android入门开发与实践M第一版.北京:人民邮件出版社.2013.6yizhi237.Android开发从入门到精通学习文档EB/OL.201338.7ShaneConder.Android移动应用开发从入门到精通M.第1版.人民邮电出版社.2015.8埃克尔.ThinkinginjavaM.第2版.机械工业出版社.2016.9CadenheadR.JaveAH经典M.第1版.人民邮电出版社.2013致谢本课题的设计和论文撰写过程中,我的指导老师给予了极大的帮助,为我提供了大量的相关资料
53、。在完成课题设计的过程中,老师在总体设计思想上给予了许多重要的实际指导,拓展了我的思路,使得我得以完成了任务。在此,我对老师的指导表示衷心的感谢。同时,我也衷心的感谢大学四年来对我的精心栽培,良好的校园环境、精良的师资队伍、浓厚的校园文化都让我深深怀念,都为我进入社会提供了莫大的帮助。行文至此,我的这篇论文已接近尾声;岁月如梭,我四年的大学时光也即将敲响结束的钟声。离别在即,站在人生的又一个转折点上,心中难免思绪万千,一种感恩之情油然而生。生我者父母。感谢生我养我,含辛茹苦的父母。是你们,为我的学习创造了条件;是你们,一如既往的站在我的身后默默的支持着我。没有你们就不会有我的今天。谢谢你们,我
54、的父亲母亲!在这四年中,老师的谆谆教导、同学的互帮互助使我在专业技术和为人处事方面都得到了很大的提高。感谢肇庆学院在我四年的大学生活当中对我的教育与培养,感谢电子信息与机电工程学院的所有专业老师,没有你们的辛勤劳动,就没有我们今日的满载而归,感谢大学四年曾经帮助过我的所有同学。在制作毕业设计过程中我曾经向老师们和同学们请教过不少的问题,老师们的热情解答和同学们的热心帮助才使我的毕业设计能较为顺利的完成。在此我向你们表示最衷心的感谢。附录A启动页主要代码:superonCreate(savedlnstanceState);requestWindowFeature(WindowFEATURE_NO_TITLE);setContentView(R.layout.welcom®/启动画面运行3秒后开始newHandler().postDelayed(iewRunnable()Overridepublicvoidrun()Intenti=newIntent(WelcomeActivity.this,MainActivity.clasS;startActivity(i);WelcomeActivity.this.finish();,3000);首页界面主要代码:super.onCreate(savedInstanceState);setContentView(R.la
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教师招聘之《幼儿教师招聘》能力提升试题打印含答案详解【完整版】
- 教师招聘之《幼儿教师招聘》每日一练附答案详解(轻巧夺冠)
- 2025年教师招聘之《小学教师招聘》通关题库附答案详解【巩固】
- 渔业养殖疾病防控服务创新创业项目商业计划书
- 绿色汽车设计理念推广创新创业项目商业计划书
- 押题宝典教师招聘之《小学教师招聘》题库附参考答案详解(黄金题型)
- 动物保健品数字化营销平台创新创业项目商业计划书
- 教师招聘之《小学教师招聘》能力提升题库附参考答案详解【培优b卷】
- 2025年教师招聘之《小学教师招聘》综合提升测试卷及完整答案详解(典优)
- 2025内蒙古维拉斯托矿业有限公司招聘6名考试备考及答案详解(典优)
- 原油加工承揽合同
- 基于人工智能的药物不良反应预测与预警系统
- QCT268-2023汽车冷冲压加工零件未注公差尺寸的极限偏差
- 【大数据“杀熟”的法律规制探究17000字(论文)】
- 队列训练齐步的行进与立定
- 初中九年级英语课件宾语从句 公开课比赛一等奖
- 患者安全和护理质量的关联
- 社区获得性肺炎诊治进展
- 拆除沥青路面基层施工方案
- 公司网络安全培训课件
- (115)-第一章毛泽东思想及其历史地位
评论
0/150
提交评论