课程设计项目总结,基于安卓的记单词软件,分为前端和服务器端,前端使用安卓,后端使用SSM框架。
具体技术栈为:
前端:android、okhttp、sqlite、litepal等
后端:SSM(SpringMVC+Spring+Mybatis)、mysql数据库、tomcat服务器等
文章目录
- 前言
- 一、项目概述
- 1.项目介绍
- 2.相关技术和运行环境
- 3.项目架构
- 二、APP设计
- 1.主要页面设计
- 2.部分接口设计(部分)
- 三.数据库设计
- 1.E-R图
- 2.数据库表结构设计(部分)
- 四.核心功能设计(部分)
- 1.程序流程图
- 总结
前言
项目的总体介绍
基于安卓的记单词软件,用户在第一次使用的时候,需要点击注册登录,在登录成功后会有引导页面,引导页面可以简单介绍软件使用,用户可以跳过。引导页面后,会跳转到选择词汇本页面,选择完词汇本后,跳转至设置计划页面,设置完学习计划后,会跳转至首页面,在首页可以查看单词的学习进度等信息,有三个学习单词的按钮,分别是“开始记单词”,“单词回顾”,“单词测试”用于不同的学习功能,可以搭配学习使用。在“我的”里面。具有查看收藏信息,更换单词本、等其他功能。
开发环境:
前端:android studio2020.3
后端:jdk1.8
Intelijj IDEA
mysql5.5
tomcat9
maven3.6
相关资源:https://mbd.pub/o/bread/mbd-ZJWXmplu
一、项目概述
1.项目介绍
我们所做的是一款基于安卓的记单词学习软件,软件名字叫MindCard,是一款操作简洁,帮你充分利用碎片化时间,高效抗遗忘的背单词软件。软件的前端采用基于Java的安卓组件技术和安卓本地的sqlite数据库等技术,后端采用了SSM框架、Tomcat服务器、MySQL数据库等技术。用户在登录后,可以开始正式使用,即使离线也可以使用记单词等功能。软件主要具备背单词、单词回顾、单词测试等核心功能,可以帮助用户快速有效的记忆和学习单词。
2.相关技术和运行环境
前端使用了Android Studio来进行开发,采用了基于Java的安卓组件技术来构造页面,使用了sqlite来保存本地数据,使用了LitePal来操作处理本地数据库的数据,使用了Okhttp来与后台进行通信,使用了Gson来解析处理后台发送的JSON数据。
后端使用Intellij IDEA进行开发,使用SSM(Spring+SpringMVC+Mybatis)
框架+Maven来搭建环境,采用了Tomcat服务器,使用了MYSQL作为数据库,使用Jackson对前端发送的JSON数据进行处理。
3.项目架构
二、APP设计
1.主要页面设计
(1)背单词页面。此页面用户可以用来背诵和学习单词,该页面向用户展示了图片、词义、词组等信息,供用户学习,此外用户还可以点击收藏图标来收藏这个单词,可以点击喇叭来播放声音,点击下一个按钮可以切换到下一个单词。
(2)单词回顾页面。此页面向用户展示了单词和一个例句,来供用户回忆该单词的中文意思,用户可以根据回忆的结果来点击忘记或认识按钮,点击任意一个后,单词的详细信息便会展示在空白处,但是两个按钮分别会给该单词标记不同的数据,来表明该单词的学习情况。
(3)单词测试页面。此页面向用户展示图片和缺少测试单词的例句,用户在文本框中输入自己的答案后,点击确认提交答案,系统根据答案判断是否正确,并给出正确答案。点击下一个按钮可以切换到下一个题目。
(4)首页。此页面向用户展示当前的单词本,以及一个学习进度情况,提供记单词的三个功能按钮。该页面用户可以查看自己这个单词本的学习进度请情况,以及选择想要使用的单词学习功能。
2.部分接口设计(部分)
样例如下
三.数据库设计
1.E-R图
服务器端数据库E-R图
表间关系图
2.数据库表结构设计(部分)
四.核心功能设计(部分)
1.程序流程图
① 下载单词本单词功能
用户在选择完单词本后,会向服务器发送请求,服务器判断该用户是否登录以及该单词本是否存在,在校验通过后,便从数据库查询相关数据并发送给前端。
数据同步功能
用户点击同步数据功能,将本地的收藏信息和学习记录信息发送到服务器,服务器判断用户是否登录,如果用户登录了,则将发送的数据与数据库的数据进行对比,如果相同则不作修改,如果不同则修改数据库的相关数据。
总结
本次的实践课程中,我们完成了一款记单词软件,前端使用了安卓等技术、后端使用了SSM框架等技术。系统的功能基本完善,能够满足我们记单词的基本需求,但是依然有很多的不足之处需要我们继续完善和改正。
本项目的重点在于记单词的功能,一共有三个跟记单词相关的功能,分别是单词背诵、单词回顾、单词测试,这是软件的核心和重点功能。系统的难点在与数据的同步功能,
系统还有很多可以改进的地方,如在已收藏、已学习、待复习里可以设置一个搜索功能,避免内容太多找不到自己想要找的单词。然后对于单词音频和图片可以设计为从服务器下载。此外,代码太过冗余,没有对方法进行提取,还可以对代码进行进一步改进和优化。在页面上,还是不够美观,对于UI设计还有很多需要进一步提升的地方。很多问题都需要我们在今后不断学习来解决和完善。
在今后,我们也将不断学习来提升我们的编码能力和系统分析设计能力,使自己能力得到提高。