登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 毕业论文 > 计算机类 > 软件工程 > 正文

基于Android的英语单词背诵系统的设计毕业论文

 2020-02-16 21:03:42  

摘 要

英语作为全球使用最广泛的语言,有着广泛的应用,国内的英语学习热潮始终没有衰退。而且随着移动设备的发展与完善,便携式移动终端比如智能手机,平板开始在大众生活中成为必不可少的用品[1]。利用移动设备进行英语学习可以充分利用零碎时间、易用便携、能够提升学习效率。同时根据网上调查,中国年轻人平均每天解锁手机屏幕35次,若是将英语单词背诵与锁屏解锁结合起来,将大大提高每天背单词的数量。所以设想开发一款通过背单词才能进行手机解锁的APP,来切实提高背英语的数量与效率。

本论文分为三个部分,第一部分为1,2章,用以介绍“基于Android的英语单词背诵系统”的背景,对与之相似的国内外产品进行分析,并且介绍了系统总体设计及如何利用将锁屏与背单词具体结合。第二部分为第3章,介绍开发此“基于Android的英语单词背诵系统”的系统主要模块与数据库的详尽设计。第三部分为4,5章,用为介绍系统的实现与测试,并对此次毕业设计开发的“基于Android的英语单词背诵系统”进行总结。

关键词:单词背诵;安卓开发;数据库读取;锁屏背单词;

Abstract

As the most widely used language in the world, English has a wide range of applications, and the domestic English learning boom has not subsided. And with the development and improvement of mobile devices, portable mobile terminals such as smart phones, tablets have become an indispensable item in the public life. Using mobile devices for English learning can make full use of time fragmentation, portability and ease of use, and improve learning efficiency. At the same time, according to the online survey, Chinese young people unlock the mobile phone screen 35 times a day. If the English words are combined with the lock screen unlocking, the number of words will be greatly improved every day. Therefore, it is envisaged to develop an APP that can unlock the mobile phone by backing words, so as to effectively improve the quantity and efficiency of back English.

This thesis is divided into three parts. The first part is chapters 1, 2, which introduces the background of 'Android-based English word recitation system', analyzes similar domestic and foreign products, and introduces the overall design of the system. The second part is Chapter 3, which introduces the detailed design of the main modules and database of this 'Android-based English word recitation system'. The third part is Chapter 4, 5, which is used to introduce the implementation and testing of the system, and summarizes the 'Android-based English word recitation system' developed by the graduation design.

Key Words:Word reciting; Android development; Database reading; Lock screen back words;

目录

摘 要 I

Abstract II

第1章 绪论 1

1.1 选题背景及研究意义 1

1.2 国内外研究现状 1

1.3 研究内容及预期目标 2

第2章 系统总体设计 3

2.1 问题详尽描述 3

2.2 系统功能结构 3

2.3 业务流程 4

2.4 项目工程目录 5

第3章 系统主要模块及数据库详细设计 6

3.1系统主要模块 6

3.1.1 开发环境及后台服务器要求 6

3.1.2 锁屏界面 6

监听屏幕状态 7

Calendar获取系统时间 8

手势滑动事件 9

解锁 10

3.1.3 设置界面 10

设置界面布局 10

自定义开关按钮 11

Spinner下拉选项 14

3.1.4 复习界面 15

3.1.5 主界面 18

3.2 数据库的详细设计 24

选择创建数据库 24

选择创建数据库解析单词工具类 26

获取数据库文件 28

第4章 系统的实现及测试 31

4.1主界面与错题本界面 31

4.2 复习界面 32

4.3 设置界面 32

4.4锁屏界面 35

第5章 总结及展望 37

5.1 系统开发总结 37

5.2 未来展望 37

参考文献 38

致谢 39

绪论

选题背景及研究意义

科学技术发展日新月异,移动互联网技术发展越来越人性化,移动智能设备已经走进了普通人的生活,并成为其必不可少的一部分,目前,移动智能设备的用户数量已经超过了PC机用户的数量,由此产生的移动应用,尤其是智能手机的应用服务有着重大的应用价值,会产生巨大的经济效益[2]

英语作为全球使用最广泛的语言,有着广泛的应用,国内的英语学习热潮始终没有消退。传统的英语学习使用固定教材,有着一些无法解决的局限性,比如之前学习英语单词的主要方法是捧着一本厚厚的英文词典翻呀翻,但是如此一来,有两点不足。一是如此查找与学习单词十分费时费力,同时也不利于好学的学生们随时随地进行英语的学习[3]

同时根据网上调查,中国年轻人平均每天解锁手机屏幕35次,若是将英语单词背诵与锁屏解锁结合起来,将大大提高每天背单词的数量[4]。长此以往,对用户的词汇量会有很大的提升。

1.2 国内外研究现状

分析现有的英语学习方式、已有单词背诵系统的发展现状和市场前景,认为:利用移动设备进行英语学习可以充分利用零碎时间、易用便携、能够提升学习效率,具有非常多的好处[5]

例如市面上比较有名的英语单词背诵APP“百词斩”与“扇贝单词”,都提供了免费的英语单词背诵与查询服务,利用图片与语音记忆结合,能够协助使用者比较多元的记忆单词,但是根据使用者的反馈,使用百词斩之后有一个比较大的问题,就是百词斩学习新单词往往使用图片代替了单词的意思,使得使用者记忆单词往往对图片有着深刻的印象而对单词原本的意思比较模糊。而且用此方法记忆单词,经常性会出现多义词只能被记住一个意思的情况,在阅读英文原文时遇到此单词的别的意思时就会不知所云或者理解出现偏差,很大程度上阻碍了使用者的英语阅读顺利进行。因此我在进行“基于Android的英语单词背诵系统”开发时,不会使用图片代替原本词义,而是会直接将单词不同的几个意思统统展示在选择的选项中。

同时“百词斩”这款APP也有着一个很大的创意,就是在打开手机锁屏时锁屏界面会出现单词的复习,这对每天解锁很多次手机的青年学生群体会有比较大的提示复习和加强记忆作用。吸取这个优点,我在进行“基于Android的英语单词背诵系统”,准备以锁屏界面作为英语单词背诵学习的主界面,这样用户就不用特地打开APP就能学习英语单词,希望可以避免英语单词背诵APP成为“僵尸”应用的情况发生。

对比现有的英语学习系统,结合Android平台,充分的整合和利用现有的工具和方法,设计和开发一款基于Android的英语单词背诵系统,不仅可以用于自己日常生活中英语单词学习,也可以在改进后实现在线学习成为一款商业化的app。

以上便是我结合了国内外的英语单词背诵系统研究情况对这次英语单词背诵系统作出的设想。

1.3 研究内容及预期目标

此次试验的主要目标就是在学习Android开发的同时,开发出一个利用手机解锁界面来实现英语单词背诵的APP,可以实现以下的功能:

1.锁屏界面:显示时间、单词及音标;播放单词语音;

2.复习界面:显示学习单词的数量及难度;显示已掌握与做错的单词数;

3.设置界面:设置此APP是否开启;设置单词难度;设置手机解锁所需要的单词数;

4.错题界面:显示单词、音标、词义;播放单词语音;删除已会单词。

系统总体设计

2.1 问题详尽描述

由于此APP采用了锁屏背单词的思路,于是学习单词的主界面设置在锁屏界面,此时主要的问题是如何监听锁屏状态,如何在锁屏界面同步手机系统时间以及界面的解锁。

此APP也应当有设置界面,用以设置英语学习的难度,以及设置是否在锁屏时开启锁屏背单词背单词功能,此时的主要问题是Spinner下拉选项与自定义开关按钮。

学习单词应当还要有复习功能,故在复习界面的主要问题是读取数据库并且如何随机显示错题数据库里面的单词数据。

以上便是在锁屏界面,复习界面与设置界面的主要问题。

2.2 系统功能结构

此“基于Android的英语单词背诵系统”主要功能分为四个部分,其中包括:系统设置,手机锁屏,单词复习,错题获取,如图2.1所示:

图2.1系统功能结构

2.3 业务流程

首先手机解锁,判断是否启用锁屏背单词,若是,则显示单词解锁界面,分别选用左滑或者右滑选择获取数据库下一题与退出单词解锁界面(即手机解锁成功),左滑后判断单词背诵释义是否正确,若正确则进入下一题,若错误则将单词添加进入错题数据库,当滑动系统设置好的题数时,手机解锁成功[6],如图2.2所示:

图2.2业务流程

2.4 项目工程目录

此项工程目包含一个SockWord(锁屏背单词)文件包(如图2.1所示),在APP中所用到的单词、词义、语音资源均是导入的,其中语音资源位于Android中的“jniLibs”目录下,而单词,词义与名言等数据库文件是放在“assets”目录下的,如图2.4所示。

图2.3 APP项目工程目录 图2.4语音文件与数据库文件

系统主要模块及数据库详细设计

3.1系统主要模块

3.1.1 开发环境及后台服务器要求

一、开发环境要求

本系统的软件开发及运行环境:

操作系统:Windows7及以上版本;

JDK环境:Java SE Development Kit (JDK) version 7 及以上版本;

开发工具:Android Studio 1.5.1及以上版本;

开发语言:Java、XML;

运行平台:Android 4.0.3及以上版本。

App执行平台:Android Studio上的Virtual Device或者一部安卓手机

3.1.2 锁屏界面

锁屏界面包括显示系统日期和时间,显示单词、音标与词义,朗读单词以及显示所选的词义等功能。在锁屏界面用手指向不同的方向滑动将执行不同的操作。选择词义选项时,该选项显示绿色表示选择正确,显示红色表示选项错误。

由于布局部分代码非核心且繁多,在此便不作赘述,如图3.1所示:

图3.1 锁屏界面

监听屏幕状态

1)为播放语音按钮设置点击事件

为播放语音按钮设置点击监听事件,即为代码playVioce.setOnClickListener(this)设置监听事件。单击代码中的“this”,按lt;Alt Entergt;快捷键,在弹出框中选择相应选项实现接口。在app/src/main/java/sockword位置的MainActivity类添加如图3.2所示代码,此代码用于播放单词的声音,同时将单词字符串传到云端,返回字符串的语音。

图3.2 播放单词声音代码

接着生成语音合成器,只需要在如下图点击“this”,按lt;Alt Entergt;快捷键,在弹出框中选择相应选项,即可生成语音合成器的实现方法及操作的代码[7]

2)选择词义时的操作

界面出现单词和词义时,要求用户从四个选项中点击选择一个,若对了,则单词及词义均为绿色,若不正确,则为红色,同时将选择错误的单词存入错题库中。因此需要给init()方法中的radioGroup实现点击监听事件,也就是为包含了三个选项的父类添加监听事件,单击下图所示代码中的“this”,按lt;Alt Entergt;快捷键,在弹出框中选择相应选项,系统便会自动生成RadioGroup监听的方法,如图3.3所示:

图3.3

默认radioGroup未被选中,锁屏时每个单词伴随着三个选项同时出现,用户选择一个选项点击,并将用户的答案与数据库中单词的释义对比判断是否正确。如图3.4所示:

图3.4

Calendar获取系统时间

在Activity生命周期中的onStart()方法里调用系统的Calendar控件[7],代码如下

protected void onStart() {
super.onStart();
/**
* 获取系统日期 并设置显示出来
* */

Calendar calendar = Calendar.getInstance();
mMonth = String.valueOf(calendar.get(Calendar.MONTH) 1); //获取日期的月
mDay = String.valueOf(calendar.get(Calendar.DAY_OF_MONTH)); //获取日期的天
mWay = String.valueOf(calendar.get(Calendar.DAY_OF_WEEK)); //获取日期的星期

/**
* 如果小时是个位数
*
*则在前面价格“0”
* */

if (calendar.get(Calendar.HOUR) lt; 10) {
mHours = '0' calendar.get(Calendar.HOUR);
} else {
mHours = String.valueOf(calendar.get(Calendar.HOUR));
}
/**
* 如果分钟是个位数
*
*则在前面价格“0”
* */

if (calendar.get(Calendar.MINUTE) lt; 10) {
mMinute = '0' calendar.get(Calendar.MINUTE);
} else {
mMinute = String.valueOf(calendar.get(Calendar.MINUTE));
}

**********

您需要先支付 50元 才能查看全部内容!立即支付

微信号:bysjorg

Copyright © 2010-2022 毕业论文网 站点地图