版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Android的英语单词记忆软件系统设计目录摘要 II
1引言1.1课题背景互联网+正在改变我们的生活,在传统英语词汇学习领域,抱着厚厚的单词书学习英语单词,这种方法是最常见的一种学习英语词汇的方式,但受到时间和空间的限制,随着移动互联网的普及和发展,如何使英语单词学习与互联网融合?移动学习解决了这个难题,它是学习的一种新概念,是新形势下学习的一种新模式。移动学习充分利用互联网,云计算等下一代信息技术,为学习者提供了不受时间以及空间限制的学习途径,是移动互联网时代极具应用性的技术。移动学习在国外已不是新鲜事,随着现代信息技术的不断进步,需要纸和笔的地方越来越少,早在1993年,著名的卡内基梅隆大学就有一项名为无线安德鲁(WirelessAndrew)的研究计划,这个项目让卡内基梅隆大学的学生享受到了利用无线随时随地学习的便利[1]。紧随其后,著名的美国伯克利加州大学也开展了一项名为移动学习(MobileEducation)的研究,旨在探索移动学习的可能性。在2000年过后,欧盟也开展了最有名的移动学习(MOBIlearn)项目,该项目汇集了12个国家的研究团队共同合作[2]。当前,Android平台占据了智能手机市场近80%的份额,应用生态丰富,越来越多的人选择在手机上随时随地用移动应用学习。移动学习在国内虽然起步较晚,但是,随着中国移动互联网的迅速发展,国内已经涌现出了“超星”、“爱课程”和“中国大学MOOC”等多种在线学习平台[3],有着超过3.4万门课程,这些平台均为移动设备提供了客户端,吸引了超过5.4亿人次学习,可见有越来越多的人选择在手机上学习。1.2课题目的和意义随着人工智能,大数据和互联网等高新技术的发展,教育企业先后试水互联网,以在线学习场景为中心,搭建用户与内容产出者之间的平台。一方面可以整合“线上”和“线下”的资源,让更多人享受到优质的教育,另一方面降低了用户的学习成本。
2可行性分析2.1社会可行性中国经济发展迅速,出国旅游,留学,对外销售,在日常生活和学习上,处处都非常需要英语。在有些高校,毕业生必须拥有英语四级证书才能获得学位证,在招聘市场上,会英语的人往往能得到更好的职位。种种现象表明了英语的重要性,加上现在是移动互联网时代,几乎人人都有手机,结合人人学习英语的这股热潮,Android平台下的英语单词记忆软件一定十分具有社会可行性。2.2技术可行性该英语单词记忆软件采用了Android平台进行开发。利用了SQLite进行数据的存储,使用OkHttp进行网络通信,GSON进行JSON数据格式解析。基于MVC架构模式设计,降低了系统耦合性,提高了稳定性。界面设计上采取了MaterialDesign设计语言,因此,Android平台下的英语单词记忆软件在技术上是可行的。2.3操作可行性目前,大多数Android平台都有便捷的应用商店分发渠道[4],用户下载应用十分简便,并且本系统不需要很多权限,只需要存储权限和联网权限即可正常运行,不会对用户的设备和系统造成任何影响。如果推广得当,Android平台下的英语单词记忆软件一定能获得市场的良好反应。因此,Android平台下的英语单词记忆软件十分具有操作可行性。
3技术介绍3.1Activity1)Activity是最容易吸引用户的组件之一。2)Activity内可以含有用户界面。3)每一个Activity都必须提前在AndroidManifest.xml中进行声明,如果不这么做,该Activity无法正常运行[5]。3.2Service1)Service是用于实现在Android中后台运行的一个组件。2)每一个Service都必须事先在AndroidManifest.xml中进行声明,否则该Service无法正常运行。3)Service的运行不像Activity那样受界面的限制,因此十分适合作为后台运行的服务,但是需要注意的是应用程序必须处于活动状态,如果应用被杀掉,所属服务会被强行停止。3.3ContentProvider1)ContentProvider也称内容提供器。2)ContentProvider主要用于在多个不同的程序中提供数据,实现共享功能。3)ContentProvider是实现数据共享最安全的一种方式,相较于直接读取存储空间而言,利用ContentProvider才是Android实现跨应用程序共享数据资源的标准做法[6]。3.4BroadcastReceiver1)应用可以对自己感兴趣的广播(Broadcast)进行注册。2)广播接收者的使用不仅可以在AndroidManifest.xml中进行声明,也可以利用程序进行动态注册。3)静态注册对于动态注册有个好处就是应用无需在后台运行,即使当前应用处于关闭状态,广播接收器仍然有效,而动态接收器是做不到这一点的。3.5MVCMVC中的M(模型),指的是系统中表达数据的部分,并对上层提供了数据接口。MVC中的V(视图),在Android开发中也就是布局,MVC中的C(控制),它可以完成从M(模型)到V(视图)的转换,这个过程也通常被称为业务逻辑。MVC是一种设计思路,开发不一定要遵循MVC模型,但是采用MVC的设计模式往往会让开发更有效率。3.6LitePalLitePal是一款开源的安卓组件,可以用于操作数据库,它使程序员在安卓开发中对数据库的操作变得更加简便[7]。即使一句SQL语句都不会写,通过LitePal仍然能够完成常用的增删改查以及建表和删表操作。3.7GSONGson是谷歌公司开发的一个开源库,能够把Java对象序列化成Json字符串,当然也可以逆转这个过程,把Json字符串反序列化成Java对象[8]。Json(JavaScriptObjectNotation)即JavaScript对象表示法是一种轻量的资料交换语言。
4开发环境4.1系统开发平台系统的开发是在Windows10系统下进行的。开发工具是IntelliJIDEA,使用了AVD(AndroidVirtualDevice)作为测试设备。AVD是谷歌提供给开发者使用的Android虚拟机,它让开发者无需拥有Android设备即可进行应用的调试,让开发变得更简单。AVD可以直接使用X86的镜像,免去转换ARM指令的过程,运行十分高效,而且AVD可以使用最新的Android版本,方便开发者熟悉新特性。4.2运行环境1)操作系统:Windows102)数据库:SQLite3)开发工具:IntelliJIDEA4)测试设备:AndroidVirtualDevice5)Android版本:Android10.0
5系统设计本系统是一款便携又效率、用于学习英语单词的移动应用,是利用碎片化时间学习英语单词的有效途经。主要包含的模块有:单词学习,单词复习,单词查询和单词收藏等等。系统完全基于谷歌Android设计规范进行开发,整个系统低耦合,代码复用率高,结构清晰。本系统主要功能如下:1)单词学习根据用户设置的词书以及每日学习计划进行学习。2)单词复习通过多种趣味的方式复习单词。3)单词查询键入需要查询的单词,匹配出对应的单词,显示其意思。点击进入可以显示单词的发音,例句和释义等等。4)单词收藏在单词详情界面,可以收藏该单词。在首页收藏页面可以看到所有的收藏单词。5.1系统功能模块设计本系统面向英语单词学习群体,根据需求分析,本系统需实现功能包括如下模块:单词学习、单词复习、单词查询和单词收藏。每个模块下面也应设计几个小模块,比如单词学习模块根据掌握程度提供不同的返回动作,单词复习模块要提供不同的复习方式,单词收藏模块要实现收藏和查看收藏的功能。根据这些分析,可以画出本系统的功能模块图,如图5-1。图图5-1功能模块图5.2数据库分析本系统作为一款学习软件,需要对大量数据进行处理,分类,这必然需要数据库的帮助。本系统基于Android平台,直接使用了平台自带的SQLite数据库。概念模型是现实世界的抽象反映,它表示实体类型及实体间的联系,是独立于计算机系统的模型,是现实世界到机器世界的一个中间层次[9]。在本系统中,数据库是重中之重,根据设计可以画出局部E-R图,如图5-2和图5-3。图图5-2局部E-R图1图图5-3局部E-R图2根据上文中概念模型的设计,本系统最终决定使用如下几张表。(1)interpretation表interpretation表是存放单词中文释义、单词英文释义和单词词性的一张表,如表5-1所示。表表5-1interpretation表名称类型主键默认值idinteger是NULLcnmeantext否NULLenmeantext否NULLwordidinteger否NULLwordformtext否NULL(2)phrase表phrase表是存放包含单词的英文词组以及词组中文释义的一张表,如表5-2所示。表表5-2phrase表名称类型主键默认值idinteger是NULLcnphrasetext否NULLenphrasetext否NULLwordidinteger否NULL(3)sentence表sentence表是存放单词的英文例句以及对应例句的中文释义的一张表,如表5-3所示。表表5-3sentence表名称类型主键默认值idinteger是NULLcnsentencetext否NULLensentencetext否NULLwordidinteger否NULL(4)user表user表存放着学习中的相关数据,包含用户id、用户经验和用户已学习的单词数,如表5-4所示。表表5-4user表名称类型主键默认值idinteger是NULLuseridinteger否0userexpinteger否0useraccounttext否NULLuserwordlearnednumberinteger否0(5)userconfig表userconfig表是存放用户所选词书、学习时间、用户id和单词每日学习量的一张表,如表5-5所示。表表5-5userconfig表名称类型主键默认值idinteger是NULLbookidinteger否-1laststudytimeinteger否0useridinteger否NULLwordneedstudynuminteger否0(6)word表word表存放的是单词的核心数据,单词的关键数据都存放在这里,比如单词id、收藏状态、学习时间和音标等等,如表5-6所示。表表5-6word表名称类型主键默认值idinteger是NULLdeepmasternuminteger否0testinteger否0testnuminteger否0isstarinteger否0iseasyinteger否0isstudyinteger否0isneedstudyinteger否0juststudyinteger否0lastmasterinteger否0lastreviewinteger否0masterdepthinteger否0needstudytimeinteger否NULLpicurltext否NULLmnemonictext否NULLukphoneticsymbolstext否NULLusphoneticsymbolstext否NULLwordtext否NULLwordidinteger否NULL
6详细设计与实现本系统采用了MVC架构模式,界面设计上运用了MaterialDesign的设计理念,使得界面变得美观简洁。MaterialDesign是由Google开发的设计语言,扩展于Google即时的“卡片”设计,材质设计基于网格的布局、响应动画与过渡、填充和深度效果(如光线和阴影)[10]。6.1首次提示用户第一次打开本系统时会弹出提示,只有用户点击同意,才能继续使用,如图6-1。图图6-1首次使用界面图6.2选择词书软件内置了常见的词书,例如四级核心词汇、六级核心词汇和考研核心词汇等等,用户必须选好词书才能进入首页。词书会作为学习来源,词书数据来自有道,选好词书并且设置好每日学习量后,就能进入本系统的首页,如图6-2。图图6-2设置每日学习计划界面图6.3学习页面学习首页可以进行随机单词的查看、浏览单词收藏列表以及搜索单词,最下方的按钮是本页面最重要的功能即背单词,如图6-3。图图6-3首页学习专栏界面图左上角的随机单词只会显示单词和简单释义,点击按钮可以从数据库中刷新一个新的词,如图6-4。图图6-4随机单词查看界面图如果想要更进一步查看,可以点击该区域进入查看详情,如图6-5。图图6-5单词详情图点击单词详情右上角的收藏按钮可以将单词收入收藏列表,方便用户回顾单词和复习单词,如图6-6。图图6-6单词已收藏图点击首页左下方的收藏按钮可以进入收藏列表,如图6-7。图图6-7查看收藏界面图点击搜索按钮可以在当前选择的词书中进行模糊搜索,最多显示10个词,此时可以在搜索结果中点击查看单词详情,如图6-8。图图6-8单词搜索界面图6.4复习页面复习专栏里包括两个功能,单词收音机和单词连连看,在学习之余,可以利用这两个功能进行复习巩固,如图6-9。图图6-9首页复习专栏界面图在单词收音机功能中,系统会自动显示单词并播放发音,如图6-10。图图6-10单词收音机界面图在单词收音机播放完毕后会显示单词列表,此时可以进行收藏和查看操作,如图6-11。图图6-11单词收音机显示单词列表界面图在单词连连看功能中,系统会打乱单词和词义,需要用户两两选择正确,如图6-12。图图6-12单词连连看界面图单词连连看完成后同样会显示单词列表,可以进行收藏和查看操作,如图6-13。图图6-13单词连连看显示单词列表界面图6.5个人中心个人中心显示了用户的坚持天数,学习的单词总数和获得经验值。可以在此处修改学习计划以及其它一些设置,如图6-14。图图6-14个人中心界面图首先可以看到个人数据部分,这部分显示了坚持学习的天数和已经学习的单词以及签到获得的经验值,如图6-15。图图6-15个人数据界面图然后是学习相关的设置,在这里可以更改当前的学习计划,查看打卡日历和查看单词列表,如图6-16。图图6-16学习相关设置界面图最后一部分是本系统的设置,可以在这里设置暗黑模式,当设置暗黑模式后,软件界面会切换为夜间模式以保护眼睛,如图6-17。图图6-17相关设置界面图
7测试为了在系统使用的时候不出现漏洞,在本系统开发完成后进行必要的测试是必不可少的。测试是为了找出错误,因此无漏洞是测试的终极目的,然而这是遥不可及的目标,只能尽力而为。7.1测试目标本次测试的目标是软件各模块基本功能运行顺畅,不出现崩溃、假死等影响使用的问题,不出现内存溢出等影响系统稳定性的问题。7.2测试用例设置数据库中单词的isstar键值为1即可设置该单词为收藏状态,如图7-1。图图7-1设置收藏的代码图通过查询数据库中isstar键值为1的单词,即可查询收藏过的单词,如图7-2。图图7-2查看收藏的代码图在单词详情界面上点击右上角收藏按钮进行测试,如图7-3。图图7-3进行收藏的界面图在单词收藏里查看单词是否正常显示,如图7-4。图图7-4查看收藏的界面图在数据库中查看该单词的isstar键值是否被正常设置为1,如图7-5。图图7-5被收藏单词的数据库图经过测试,该模块的运行和设计一致,没有漏洞出现,内存和处理器的占用率处于正常水平,可以认定该模块的功能运行正常无错误。由于本系统模块众多,版面受限不能一一列出测试用例,这里仅列出单词收藏模块的测试详情,其它模块的测试可见表7-1。表表7-1模块测试表测试项目操作过程预期效果测试结果学习单词点击认识按钮显示新的单词成功随机单词点击刷新按钮单词自动刷新成功夜间模式开启夜间模式界面配色更改成功单词收音机点击暂停按钮单词停止播放成功单词连连看选择正确匹配匹配单词消失成功在系统开发过程中,把代码写的越好,测试的时候出现的问题也越少。测试和排错被很多人认为是一样的,其实并不相同。测试就像是体检,你认为系统没有问题,但是想要找出问题。排错就像是看病,你已经知道有漏洞而想要去解决它。测试的时候不出现问题不代表程序真的没有问题。提升自己的编程能力,使用规范的开发模式是非常必要的,只有这样才能将漏洞扼杀在开发阶段。
8结论通过开发本系统,我对安卓的四大组件掌握更深了,对JavaSE的内容掌握得越发成熟了,对软件界面的设计也有了自己的理解。在开发过程中我学到了一些经验,比如如何利用MVC架构进行开发,如何用MaterialDesign设计语言设计出既美观又实用的界面,这两项设计思路让我受益匪浅,相信以后在其它语言的开发上也能用得到。开发过程也不是一帆风顺的,为了加一个新功能往往要查阅繁多的资料,解决无数的BUG。我也是第一次独立开发如此庞大繁复的系统,在开发过程中我学会了如何使用MVC架构来设计程序,学会了如何设计数据库表,学会了如何使用调试功能,所以说有付出就会有收获。没有牢不可破的系统,更何况我只是个编程菜鸟,系统中必然存在着我没有发现的漏洞,真诚希望各位老师、同学能提出意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国连续性血液净化设备多脏器支持疗法拓展应用报告
- 2026中国橡塑助剂行业产能扩张节奏与供需平衡预测
- 2026日本日本动漫游戏行业市场现状供需分析及投资评估规划分析研究报告
- 2026农业科技产业市场研究趋势发展思考
- 2026中国涡流泵行业成本控制与效益提升分析报告
- 2026及未来5年中国小酒架市场分析及竞争策略研究报告
- 2026及未来5年中国导电棒市场分析及竞争策略研究报告
- 2026中国影视媒体内容平台涌现与用户消费行为分析资本规划深度展望技术发展动态布局
- 2025福建省晋江圳源环境科技有限责任公司常态化招聘项目制工作人员25人笔试历年参考题库附带答案详解
- 2025福建漳州市芗江人力资源服务有限公司招聘4人笔试历年参考题库附带答案详解
- 2026年烟花爆竹从业人员安全培训考试试题附答案
- SYT 6649-2025《油气管道管体缺陷修复技术规范》
- 健康体重管理运动干预中国专家共识(2025版)
- (2025年)宜昌市伍家岗区网格员考试题库(含答案)
- 2026年基层选调生遴选笔试试卷(附答案)
- 山地丘陵村镇水土环境协同修复技术指南编制说明
- DB63∕T 2514-2026 博物馆服务标准体系
- 标准工时管理办法
- 展览展示设备安装施工方案
- DB63∕T 2025-2022 机关食堂管理规范
- 医废培训知识课件
评论
0/150
提交评论