手机字典软件开发毕业论文
2020-02-17 23:03:51
摘 要
伴随着科学技术不断的前进,社会生活的方方面面都进入了信息化时代。私人计算机的应用、智能手机的普及,使得生活更加丰富多彩。现代人的手机使用率越来越高,在手机端可以完成多项活动,例如网络学习、在线购物、阅读资讯等,智能手机的优势和普及致使英语单词字典应用的开发具有良好前景。
论文主要研究内容是:利用Android studio平台完成对应用界面的布局设计,在开发平台中编译java语言配置各个控件在页面的位置以及多级页面的设置。在后台服务器上架构sqlite数据库,用于储放英文词汇,中文释义等数据信息,在数据库和应用完成连接后,客户端中可以进行词库的查阅和删除操作。在网络端,为实现在线英文单词的汉译英功能,采取调用百度翻译api的方法,借助网络服务器资源,完成在线翻译。
调试结果显示:在手机保持网络连接状态下,应用可以较快的对用户输入的汉语或者阿拉伯数字进行翻译。在单词学习方面,应用中的单词发音功能正常,到时学习提醒功能可以准时运行。
此系统拥有界面简洁、操作简单易懂,管理方便等优点,且作为私人使用学习工具无广告推送和付费功能,因此具有实用价值,让用户利用智能手机即可完成对英语的学与练。
关键词:移动客户端,数据库,Android平台,应用程序编程接口
Abstract
With the constant progress of science and technology, all aspects of social life have entered the information age. Modern people are using mobile phones more and more,Users can complete a number of activities on the mobile phone, such as network learning, online shopping, reading information, etc. The advantages and popularity of smart phones make the development of English dictionary applications have a good prospect.
The main research contents of this paper are: using Android studio platform to complete the layout design of the application interface, compiling Java language in the development platform to configure the location of each control in the page and the setting of multi-level pages. SQLite database is constructed on the background server to store data information such as English vocabulary and Chinese interpretation. After the connection between database and application is completed, the client can consult and delete the lexicon. On the network side, in order to realize the Chinese-English translation function of online English words, Baidu translation API is invoked to complete online translation with the help of network server resources.
The debugging results show that the application can translate the Chinese or Arabic numerals input by the user quickly while the mobile phone remains connected to the network. In terms of vocabulary learning, the pronunciation function of the words in the application is normal, and the learning reminder function can run on time.
The design features: This system has the advantages of simple interface, easy operation and easy management. As a private learning tool, it has no function of advertising push and payment. Therefore, it has practical value, so that users can learn and practice English by using smart phones.
Key Words:Mobile Client; data base; Android platform; Application Programming Interf
目 录
第1章 绪论 1
1.1 设计的背景和意义 1
1.2 国内外研究现状 1
1.3 研究内容与计划 2
第2章 手机字典app的总体设计 3
2.1 可行性分析 3
2.2 需求分析 3
2.2.1 系统需求分析 3
2.2.2 界面需求分析 3
2.2.3 功能需求分析 4
2.3 应用功能模块设计 4
第3章 数据库的建立 5
3.1 调用数据库 5
3.2 本地数据库建立 5
3.2.1 数据库的概念结构设计 5
3.2.2 数据字典的建立 7
3.2.3 数据库的连接 9
3.3 服务器端api调用 9
3.3.1api调用流程 9
3.3.2 api调用实现 11
第4章 手机字典的功能实现 12
4.1菜单模块控件设计 12
4.2汉语词汇的翻译功能 12
4.3英语单词的学习功能 13
4.4 学习提醒功能 15
4.5手机词典测试功能 17
4.6手机词典查询管理功能 19
第5章 总结和展望 22
参考文献 23
致 谢 24
第1章 绪论
1.1设计的背景和意义
国际化发展至今,我国英语的普及率呈上升趋势,对于学生而言,在日常英语学习中,难免遇到所见单词不知其汉语释义和发音的情况,如果通过传统的纸质牛津英汉词典来查询英文单词释义和音标,不仅操作繁琐耗时耗力,还得学习字典查询知识,这给学生的英语学习带来了困难。
国际知名数据调查机构 IDC发布了中国手机市场2018年第四季度的手机季度跟踪报告。该机构调查显示我国智能手机市场每季度的销量高达一亿台,对于学生群体智能手机是个优秀的应用承载平台[1]。本设计是为普通学生设计的基础英语词典,学生可以随时利用手机app进行词汇训练,在遇到不认识的单词时,词典可以正确的翻译相关词汇并提供发音,有着边学边练的特性。
1.2国内外研究现状
科技的发展,促使人们的生活和工作得到改变,并且普及了线上模式[2].。用户对手机的功能需求已经不限于通话等单一的一对一交互,而是希望利用智能手机在线上线下都可以进行需求操作,多样化的用户需求促使手机 App应用的发展方向呈多元化趋势,这就要求IT行业开发出更多新技术,完成更全面的人机交互模式和功能模块[3]。在网络服务端,传统的网上购物,阅览讯息和浏览网页需要在pc端浏览器中使用,这对于设备和地点都有着一定的要求,而在如今快节奏社会,便捷性才是用户的第一选择[4]。
目前国内Android应用商店发布了很多款手机字典应用,用户使用量比较大的应用有:网易有道词典,金山词霸,欧路词典等,但这些应用在设计时考虑商业需求,设计程序时添加了很多广告推送和付费项目,使得一般学生使用这些传统的词典的应用感受不佳[5]。要开发适合学生的基础英语字典,首先要考虑的是学生群体对英语学习与训练的需求,这就要求在设计字典的时候考虑词库的词汇量要符合学生英语学习的范围,能给出生词的主要中文释义与词性。在此基础上,通过后台数据库为学生提供基础的单词练习,界面简洁大方,操作简单快捷。
对于android app开发技术,国内外研究已经十分完备,主要技术为利用java语言进行代码编译,平台自带布局控件,用来完成界面设计[6]。在AS平台中利用各种控件即可完成基本UI页面布局,国内开发常用控件为:(1)TextView控件可建立标题(2)通过ImageView和引用文件夹内的图片实现插入图片(3)EditView控件设置输入框(4)Button控件定义按钮[7]。在性能方面,常见的问题有:当java虚拟机发觉系统内存储量不够的时候会自动清理没有被引用到对象所占用的的内存空间,如果这个流程频繁进行则称为常gc[8]。内存泄漏,如果没有用的对象无法回收,应用的中的可利用内存减少,使得堆内存压力激增[9]。内存泄漏对于app没有直接的危害,即使app有发生内存泄漏的情况,也不一定会引起app崩溃,但是会增加app内存的占用[10]。解决gc问题监控了解长GC暂停时I/O工作状态或者网络活动情况等方法, 可以通过工具iostat和netstat来实现,进而了解应用GC的时候是否有足够的内存资源[11]。在处理内存泄漏情况时,由于新建线程会导致Activity内存泄漏,将新进行的类转变为静态非匿名内部类就可以,除了此方法也可使用弱引用将包含其的 Activity 清理掉[12]。
在后台数据库方面,国内外主要使用关系数据库(Mysql,Oracle等)和非关系数据库(NoSQL),本设计采用sqlite数据库存储英文词汇等数据。事务处理层面为独立处理,在运行中多个进程时可以在同时从同一数据库调用数据信息,但只有一个可以写入数据[13]。为防止多进程处理时出现bug,数据库内存有独占锁,某一进程获得独占锁后,关闭进程处理通道,其他进程不再进行读写操作。数据库内存储的数据类型为动态,可在数据存储中将不符合关联表类型的数据转为合适的类型,若转换失败则存储该类型,特殊情况报错[14]。在手机词典应用中,独立的事务处理和动态数据类型存储,可保证更新词库数据时,程序的正常运行[15]。
1.3研究内容与计划
本系统是基于安卓的英语单词学习APP,在确定用户需求后完成应用前端建立和完成数据库的建立,利用java语言连接后,用户可以在手机端进行操作。
研究计划如下:
(1)了解词典的工作流程,分析关于如何调用数据库中的单词信息,如何连接网络服务端实现在线翻译以及单词发音功能,给出可行的措施。
(2)根据英语单词学习APP具体的分析需要,设计出系统的功能框架结构。
(3)分析数据类型关系,设计数据字典,创建数据库
(4)根据功能编写本系统的开发技术文档。
(5)对英语单词学习APP进行模块测试。
第2章 手机字典app的总体设计
2.1可行性分析
(1)在技术支持方面,应用使用Java语言,基于AS为开发平台,Java具有简单性、面向对象、可移植性以及多线程性的优点,优秀的技术和思想都可以通过网络随时获得。而应用的数据库sqlite,建表方便,与工程的连接紧密,调用词汇简单,因此技术可行。
(2)在经济开销方面,本应用是独立开发的小型Android app,除了自身编译代码设计框架所需要的精力和时间以外的成本寥寥无几。加上Android平台的技术在如今的大数据时代普遍开源,应用的后期维护既方便也快捷,因此本应用基本无经济花销,具有一定的可行性。
(3)在操作应用方面,界面简洁,操作简单,对用户无技术操作要求。使用者不需要学习java语言。在设备方面不要求手机的品牌种类和性能高低。只要是安卓系统版本基本符合应用要就就可以完成操作,因此在手机端完成操作上也具有相当的可行性。
由此可见,本系统从技术上、经济上,以及用户易操作性上都具有相当的可行性。
2.2需求分析
2.2.1系统需求分析
使用手机词典的普遍受众是学生,他们需要快速的在手机应用中查询英文单词和其中文释义,所以设计首要工作就是建立一个词汇库。其次是汉译英功能,我们调用百度翻译API让英语前端与服务端相连接,此时便能实现翻译单词和英语发音功能。UI页面设计布局要清楚,各部件清晰可见,按钮操作完备,功能不宜太复杂,只有这样没有经过Android开发学习的人也能熟练的使用。
词典的词汇库中存放单词和其中文意思,后台需要建立一个数据库来储存它们,在分析的应用需求数据类型后建立数据表,构建E-R图。
2.2.2界面需求分析
(1)输入内容经过编写分类处理后输出信息,数据类型应符合格式,提供给用户使用,这是输入输出设计的主要责任和目标。系统开发的过程与输入输出设计相反,并不是从输入设计到输出设计,而是从输出结果推回到输入内容。这是由于用户需要从数据库中调用输出表格,调取的内容方是用户所需要的结果,设计的目的应当是确保用户可以快速通过客户端调用表格,并且在输出界面将获取的有用信息及时的反映出来。输出设计的准则是又要输出信息简洁,又能保证客户端准确的输出所需信息。
(2)在设计ui界面时力求简洁,使用Android studio为平台,建立多个TextView和RadioGroup控件来设置标题和按钮,完成主页面和次页面的部件布局。再利用layout语句确定各部件位置,形成基本的界面设计。
2.2.3功能需求分析
经过系统和界面的需求分析,确定设计目标,以下是电子词典系统设计的预期功能:
(1)单词翻译,用户可以输入汉语词汇得到英文翻译
(2)英文词汇库,用来显示用户查询到的英文单词的中文释义和词性。
(3)单词学习界面,用户可以学习生词,生词可以发出标准读音,同时记录用户已学单词的个数。
(4)客户端词库管理,用户可在词库中查阅单词的词性和中文释义并对词库中的单词进行增删,且可以利用部分英文关键词查询具有次关键词的英文单词。
(5)单词考察界面,用户可以进行考试,查漏补缺。
2.3应用功能模块设计
手机英语词典主要为学生提供英语学习服务,用户使用词典可以查询单词中文释义,创建生词本,删除生词本,管理词库等,分组模块分别为:汉译英,单词记忆,生词发音,到时学习提醒,词汇库管理,单词考察6个模块。应用功能总体结构图如图2.1所示:
图2.1应用功能总体结构图:
图2.1 应用功能总体结构图
第3章 数据库的建立
3.1调用数据库
Sqlite数据库作为本应用的后台数据库,在设计中作为存储英文词汇和其中文意思的空间,在用户需要查阅词汇时,前端调用数据库内信息,以合适的类型输出在界面上。
SQLite调用流程图3.1所示:
图3.1 sqlite调用流程图
3.2 本地数据库建立
根据系统功能需求分析,本系统所涉及的实体分别是:
单词表:单词的英文释义与中文释义。
生词本表:生词本编号和名称。
生词本单词表:生词本编号,英文释义,中文释义。
词汇库表:词汇库编号和名称。
本地客户端词汇库单词表:词汇库表的编号,单词编号,英文释义,中文释义。
3.2.1数据库的概念结构设计
本系统设计的实体为:生词本,单词表,本地词汇库
本地词汇库中可以构建多个生词本,本地词汇库和生词本是一对多的关系。
本地词汇库中可以存储多个单词表,本地词汇库和单词表是一对多的关系。
生词本中可以有多个生词以及它的中文释义,生词本和生词以及中文释义的关系是一对多的关系。
单词表中有多个单词和中文释义,单词表和单词以及中文释义是一对多的关系。
构建本地词汇库E-R图如图3.2所示:
图3.2 本地词汇库E-R图
本系统设计的实体包括:试题,本地词汇库,单词表
本地词汇库可构建多个试题,本地词汇库和试题的关系是一对多的关系
本地词汇库包含多个单词表,本地词汇库和单词表的关系是一对多的关系。
构建试题库E-R图如图3.3所示:
图3.3试题库E-R图
3.2.2数据字典的建立
为了方便系统维护,由管理员统一在应用后台的sqlite数据库进行数据字典维护,如果用户需求要增加变更信息,只用在后台完成对数据字典中的数据信息,不需要修改数据库主文件和代码。
以下是将应用数据信息的逻辑嵌入式数据库SQLlite,实体属性之间关系对应了表的字段,关系框架对应了表的结构,关系元组对应了表记录,所建立的数据库表结构如表所示:
表3.1 单词表
字段名称 | 类型 | 非空 | 主键 | 说明 |
Id | Int(16) | 是 | 是 | 单词的编号 |
chinese | String(12) | 是 | 否 | 中文释义 |
english | String(12) | 是 | 否 | 英文词汇 |
单词信息表中包括单词编号,单词的汉语以及英语,单词表是词典显示英文单词和其中文释义的数据表,用户可在此进行查阅本地数据库内包含的信息。
表3.2生词本表
字段名称 | 类型 | 非空 | 主键 | 说明 |
noteid | Int(16) | 是 | 是 | 生词本编号 |
notename | Text(12) | 是 | 否 | 生词本名字 |
生词表中包含用户存放的生词本,每当用户在进行单词学习时,都会将不认识的生词插入生词本中,在需要的时候,可以在客户端选择合适用户需求的生词本。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: