基于Android的记单词App系统的设计与实现
博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W+、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《100套》
Java微信小程序项目实战《100套》
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人
文章目录
- 1 简介
- 2. 设计目标
- 3 基于Android的前台技术
- 4.系统设计实现
- 5系统详细实现
- 5.1 用户登陆的设计与实现
- 5.2 单词学习
- 5.3 单词复习
- 5.4 单词浏览
- 5.5 个人中心
- 6 参考文献
- 7 推荐阅读
- 8 源码获取:
1 简介
英语在国内目前属于各类的考试的必修课程,中考、高考、考研、出国,几乎贯穿所有学习阶段。而单词作为英语学习的基础,有着异常重要的作用。传统单词书笨重、不易携带和查询。随着智能手机的普及,人们获取信息的方式已经发生了巨大的转变。智能手机正在逐步融入我们的生活,并影响和改变着我们的生活。因此,基于Android系统设计一款记单词软件,方便人们随时随地记忆单词,合理利用碎片化时间。

**关键字:**JAVA Android 软件设计 单词记忆
基于Android的记单词App系统的研究与实现:https://it1314.top/article/1291/
2. 设计目标
该研究项目主要设计目标为实现基本的单词记忆和查询功能,包括用户可以进行自主的注册登录,用户登录系统以后,可以在App上使用单词查询和记忆功能。除此之外,还设计提供单词复习、生词本等功能,便于加深记忆。
该系统的预期功能如下:
-
用户登录注册:新用户可以进行注册,注册后支持使用注册账号密码进行登录;
-
单词查询:用户可以使用App搜索输入单词查中文;
-
单词记忆:通过某种形式帮助单词记忆;
-
单词复习:辅助定期对易错词进行周期性记忆;
-
单词浏览:用户可以浏览英语单词词库;
-
个人中心:用户可以对个人信息进行浏览、修改、推出登陆;
3 基于Android的前台技术
Android是基于Linux内核的操作系统,是Google公司于2007年11月公布的智能手机操作系统,它是由开源的Linux系统发展而来,该平台由操作系统、中间件、用户界面和应用软件组成,是一个为移动终端打造的开放、完整的操作系统。
从体系结构上来看,Android系统的可以分为四大主要组成部分,包含内核层和系统操作层、应用结构层和上层应用层,如下图所示:
4.系统设计实现
本章节是论文的重点,详细对App流程设计、功能模块,通过标准化流程图等软件语言,对整个项目实现进行阐述,并对项目可实现的各功能模块进行展示。
本研究设计的单词记忆App,根据需求分析,对功能模块进行设计,主要包括以下功能:
1.用户注册和登陆:用户可以通过注册获取权限并登陆App,并使用相关功能;
2.单词搜索:可以搜索输入单词查中文,并有已背单词和未背单词数提示;
3.单词记忆:随机单词和对应读音,用户通过APP选择正确释义(三个选项),选对了则将该单词加入已背单词本,选错了则加入陌生单词本;
4.单词复习:该功能分两部分:
-
随机从已背单词本选单词,然后随机空出几个字母,写错则将该单词从已背单词本删除,并加入陌生单词本;
-
随机中文释义(按字母排序显示)和发音,提供3个单词选项,选对了则将该单词加入已背单词本,选错了则加入陌生单词本;
5.单词浏览:
-
可以选择查看词库或者已背单词本或者陌生单词本的单词(按字母排序)
-
每个单词旁边设计已背和陌生按钮,便于用户根据实际情况选择添加。
6.个人中心:个人共中心内对用户信息予以展示,并支持对账户头像、昵称、性别、年龄等信息进行修改;
5系统详细实现
针对核心功能模块设计,主要以实现单词浏览、查询、记忆、复习等功能,具体设计如下:
1.用户注册和登陆:用户可以通过注册获取权限并登陆App使用相关功能;
2.单词搜索:可以搜索输入单词查中文,并有已背单词和未背单词数提示;
3.单词记忆:随机单词和对应读音,用户通过APP选择正确释义(三个选项),选对了则将该单词加入已背单词本,选错了则加入陌生单词本;
4.单词复习:该功能分两部分:
-
随机从已背单词本选单词,然后随机空出几个字母,写错则将该单词从已背单词本删除,并加入陌生单词本;
-
随机中文释义(按字母排序显示)和发音,提供3个单词选项,选对了则将该单词加入已背单词本,选错了则加入陌生单词本;
5.单词浏览:
-
可以选择查看词库或者已背单词本或者陌生单词本的单词(按字母排序)
-
每个单词旁边设计已背和陌生按钮,便于用户根据实际情况选择添加。
6.个人中心:个人共中心内对用户信息予以展示,并支持对账户头像、昵称等信息进行修改;
5.1 用户登陆的设计与实现
用户管理是该项目App的核心功能之一,用户通过APP提供的注册、登陆功能,实现使用其它核心功能的目的。应用逻辑为用户点击进入App,老用户输入手机号和密码进行用户登陆;新用户点击"注册"按钮进行用户注册,注册后通过用户名、密码实现登陆。
注册模块采用手机号作为用户ID,用户填写手机号、编辑密码并进行二次确认,如果用户名合法且两次密码一致,则注册成功,用户注册信息写入数据库进行保存。
登录模块,用户输入电话号和密码后,由系统调用数据库相关信息,与用户输入的信息进行比较,如果结果一致,则认定为合法用户,登录成功。
登录注册模块运行页面效果如下图所示,界面简洁明了,并设计了"自动登陆"按钮,简化使用流程。
实现效果如下图所示:


5.2 单词学习
本模块是本App的核心功能模块,支持单词搜索查询,并有已背单词和未背单词提示,具体实现效果如下图:

图.单词学习效果图
5.3 单词复习
复习模块提供两种复习模式:随机从已背单词本选单词,然后随机空出几个字母,进行单词填空,写错则将该单词从已背单词本删除,并加入陌生单词本;或者随机中文释义(按字母排序显示)和发音,提供3个单词选项,选对了则将该单词加入已背单词本,选错了则加入陌生单词本。
具体实现效果如下图:


图.单词填空效果图

图.中文选词效果图
5.4 单词浏览
本模块可以选择查看词库或者已背单词本或者陌生单词本的单词(按字母排序),并提供添加按钮,便于用户根据实际情况选择单词添加如合适的词库。具体实现效果如下图:


图.单词浏览效果图
5.5 个人中心
个人共中心内对用户信息予以展示,并支持对账户头像、昵称、性别、年龄等信息进行修改。用户登陆App后,点击"我的"按钮进入个人中心,点击用户头像、昵称等,支持自行对个人信息进行修改,并设置有"退出登陆"按钮。
用户的个人中心效果如下图所示:

图.个人中心效果图
6 参考文献
- 李华英,朱加繁,石晴,等.英语词汇学习方法探讨[J].云南农业大学学报(社会科学版),2016,(1).99-105.
[2]谭洋玉.从词汇学习app"百词斩"看英语词汇教学策略[J].校园英语(下旬),2016,(6).28-28.
[3]
谢炆炆.基于手机APP的移动学习在大学英语教学中的应用研究[J].黑龙江生态工程职业学院学报,2018,(2).146-149.doi:10.3969/j.issn.1674-6341.2018.02.056.
[4]冯希叶主编;王辰龙,刘斌,朱海林,唐海亮副主编.信息技术类专业知识理论:电子科技大学出版社,2015.08
[5]Java面向对象程序设计
梁燕来;程裕强 人民邮电出版社 201304
[6]明日科技.Java从入门到精通(第3版):清华大学出版社,2014
7 推荐阅读
Java基于SpringBoot+Vue的网上图书商城管理系统(附源码,教程)
基于 Python 的豆瓣电影分析、可视化系统,附源码
Java 基于SpringBoot的某家乡美食系统
Java基于SpringBoot的学生就业管理信息系统
8 源码获取:
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅
Java项目精品实战案例《200套》
Java微信小程序项目实战《100套》
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及文档编写等相关问题都可以给我留言咨询,希望帮助更多的人
相关文章:
基于Android的记单词App系统的设计与实现
博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇dz…...
ELK 企业级日志分析系统 简单介绍
目录 一 ELK 简介 1, elk 是什么 2,elk 架构图 3,elk 日志处理步骤 二 Elasticsearch 简介 1, Elasticsearch 是什么 2, Elasticsearch 的核心概念 3, Elasticsearch 的原理 三 Logstas…...
GET与POST:详述HTTP两大请求方法的语义、数据处理机制、安全特性与适用场景
GET和POST方法在HTTP请求中具有明确的角色分工和特性差异。GET适用于读取操作和不敏感数据的传递,强调可缓存性和安全性,而POST适用于写入操作和敏感数据的提交,提供了更大的数据承载能力和更强的隐私保护。本文详细介绍了GET与POST请求方法的…...
Unity Pro 2019 for Mac:专业级游戏引擎,助力创意无限延伸!
Unity Pro 2019是一款功能强大的游戏开发引擎,其特点主要体现在以下几个方面: 强大的渲染技术:Unity Pro 2019采用了新的渲染技术,包括脚本化渲染流水线,能够轻松自定义渲染管线,通过C#代码和材料材质&…...
C++设计模式:单例模式(十)
1、单例设计模式 单例设计模式,使用的频率比较高,整个项目中某个特殊的类对象只能创建一个 并且该类只对外暴露一个public方法用来获得这个对象。 单例设计模式又分懒汉式和饿汉式,同时对于懒汉式在多线程并发的情况下存在线程安全问题 饿汉…...
openssl3.2 - exp - zlib
文章目录 openssl3.2 - exp - zlib概述笔记命令行实现程序实现备注 - 压缩时无法base64压缩时无法带口令压缩实现 - 对buffer进行压缩和解压缩测试效果工程实现main.cppCOsslZlibBuffer.hCOsslZlibBuffer.cpp总结END openssl3.2 - exp - zlib 概述 客户端和服务端进行数据交换…...
【故事】无人机学习之旅
今天是清明假期最后一天,晚上在看无人机的东西,翻到了欣飞鸽的知乎主页,读了他的一些文章。虽不曾相识,但感觉我们有很多相似的经历,也想记录一下自己的无人机学习之旅。 青铜:从使用开源飞控开始 我在大…...
torch.mean()的使用方法
对一个三维数组的每一维度进行操作 1,dim0 a torch.Tensor([0, 1, 2, 3, 4, 5,6,7]).view(2, 2, 2) print(a) mean torch.mean(a, 0) print(mean, mean.shape) 输出结果: tensor([[[0., 1.], [2., 3.]], [[4., 5.], [6., 7.]]]) tensor([[2., …...
windows安装Redis,Mongo,ES并快速基本掌握开发流程
前言 这里只是一些安装后的基础操作,后期会学习更加深入的操作 基础操作 前言RedisRedis启动idea集成Redisjedis技术 Mongodbwindows版Mongodb的安装idea整合Mongodb ES(Elasticsearch)ESwindows下载ES文档操作idea整合ES低级别ES整合高级别ES整合 Redis Redis是…...
ruoyi-nbcio-plus基于vue3的flowable的自定义业务提交申请组件的升级修改
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码:…...
掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
引言 在信息时代的浪潮下,人们对于获取和分析海量网络数据的需求与日俱增。网络抓取技术作为满足这一需求的关键工具,正在成为越来越多开发者的首选。而Perl语言,以其卓越的文本处理能力和灵活的特性,脱颖而出,成为了…...
典型新能源汽车热管理系统方案分析
目前行业具有代表性的热管理系统有PTC电加热方案、热泵方案(特斯拉八通阀热泵、吉利直接式热泵)、威马的柴油加热方案以及以理想为代表的插电式混动车方案。 小鹏P7整车热管理方案分析(PTC电加热方案) 小鹏P7作为小鹏汽车的第2款…...
使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API
Vercel部署FreeGPT35有严重限制,玩玩就好,真用还是得docker。 限制原因: Vercel的流式响应并不是一开始写流,客户端就能立刻收到响应流,而是先写到一个缓冲区,当流关闭才一股脑的流式响应回来(不是实时流) 因此导致: …...
《Linux运维实战:Kylin V10操作系统开启安装软件保留缓存设置》
总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:Linux运维实战总结 一、操作步骤 1、改系统/etc/yum.conf配置文件,开启安装软件保留缓存设置 [rootecs-90c2-0003 ~]# vim /etc/yum.…...
视频生成技术:从GAN到Latte
GANs Diffusion Model...
机器学习中的激活函数
激活函数存在的意义: 激活函数决定了某个神经元是否被激活,当这个神经元接收到的信息是有用或无用的时候,激活函数决定了对这个神经元接收到的信息是留下还是抛弃。如果不加激活函数,神经元仅仅做线性变换,那么该神经网…...
LinuxAndroid: 旋转编码器input输入事件适配(旋转输入)
rk3588s: 旋转编码器input输入事件适配 基于Android 12 kernel-5.10版本 参考文档: https://blog.csdn.net/szembed/article/details/131551950 Linux 输入设备调试详解(零基础开发)Rotary_Encoder旋转编码器驱动 通用GPIO为例 挂载input输…...
机器学习和深度学习-- 李宏毅(笔记与个人理解)Day10
Day 10 Genaral GUidance training Loss 不够的case Loss on Testing data over fitting 为什么over fitting 留到下下周哦~~ 期待 solve CNN卷积神经网络 Bias-Conplexiy Trade off cross Validation how to split? N-fold Cross Validation mismatch 这节课总体听下来比较…...
perl 交叉编译
前言 Perl是一种高级、通用、解释型、动态的编程语言。Perl设计的初衷是为了更好地处理文本处理任务,但随着时间的发展,现在它已经变成了一种强大的一般目的编程语言。Perl支持面向过程和面向对象的编程风格。 Perl的特点: 强大的字符串处…...
浅谈.版本管理工具
定义: 版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 特点: 1、方便用于管理多人协同开发项目 2、并行开发,可实现跨区…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
