目录

  1. 引言 3
    1.1. 项目介绍 3
    课程设计选题《单词记忆APP》 3
    1.2. 项目的目的和意义 3
    1.3. 相关技术介绍 5
    1.3.1. ionic + angular + cordova混合框架 5
    1.4. 后端SSH框架 6
  2. 系统需求分析 8
    2.1. 软件功能 8
    2.1.1. 需求分析 8
    2.2. 功能性需求 9
  3. 项目介绍 10
    3.1. 系统的开发环境 10
    3.2. 系统的技术路线 11
    3.3. 系统的具体功能 11
    3.3.1. 登录注册模块 11
    3.3.2. 单词学习模块 11
    3.3.3. 单词列表模块 12
    3.3.4. 单词翻译模块 12
    3.3.5. 翻译收藏模块 12
    3.3.6. 阅读模块 12
    3.3.7. 个人中心模块 12
    3.3.8. 今日计划版块 13
    3.3.9. 单词进度模块 13
  4. 系统设计 13
    4.1. 总体设计 13
    4.1.1. 处理流程 13
    4.1.2. 总体结构和模块外部设计 14
    4.1.3. 系统类关系设计 14
    4.2. 系统功能模块设计 15
    4.2.1. 用户登陆修改信息模块 16
    4.2.2. 单词学习模块 17
    4.2.3. 搜索模块 19
    4.2.4. 查看词典 19
    4.2.5. 收藏模块 20
    4.2.6. 个人中心模块 21
    4.2.7. 今日计划模块 22
    4.2.8. 管理员管理模块 23
    4.3. 数据库设计 23
    4.3.1. 逻辑结构设计 23
    4.3.2. 物理结构设计 24
    4.4. 后端服务器API规约 27
    4.4.1. 用户相关API 27
    4.4.2. 单词相关API 27
    4.4.3. 词典相关API 27
    4.4.4. 收藏相关API 28
    4.4.5. 管理员相关API 28
  5. 各模块具体功能实现 28
    5.1. 用户登陆实现 29
    5.1.1. 向后端服务器提交用户登录信息算法 29
    5.1.2. 用户登录成功向后端服务器获取相关信息算法 29
    5.2. 用户注册实现 30
    5.2.1. 向后端服务器提交用户注册信息算法 30
    5.3. 用户信息修改实现 31
    5.3.1. 向后端服务器提交用户更改的信息算法 31
    5.4. 单词学习流程实现 31
    5.4.1. 初步学习页面 32
    5.4.2. 初步学习算法 32
    5.4.3. 单词复习算法 33
    5.4.4. 单词复习页面 36
    5.5. 单词计划实现 37
    5.5.1. 单词计划页面 37
    5.5.2. 单词计划相关代码 38
    5.6. 单词列表实现 39
    5.6.1. 单词列表页面 39
    5.7. 单词搜索实现 40
    调用API接口实现翻译 42
    5.8. 查询单词收藏功能实现 43
    5.9. 个人信息修改实现 43
    5.10. 今日计划部分实现 43
  6. 功能展示 43
    6.1. 单词学习系统主要界面 43
    6.1.1. 登陆界面 43
    6.1.2. 用户注册界面 44
    6.1.3. 单词学习界面 45
    6.1.4. 计划修改页面 47
    6.1.5. 单词列表页面 48
    6.1.6. 单词搜索界面 49
    6.1.7. 个人信息查看与修改界面 49
    6.1.8. 背单词系统管理系统 50
    2.系统需求分析
    2.1.软件功能
    2.1.1.需求分析
    随着科学技术的发展,人类社会日新月异,智能手机自出现以来就在人类的生产生活中饰演着重要的角色,越来越成为大家日常生活中必不可少的生活工具。在学校、在家中、在交通工具上甚至在工作中随处可见智能手机的身影。与此同时手机软件也日益发展壮大。而在全球化的背景下,对于英语的学习也变得越来越重要。手机电子词典或生词记忆软件作为学习英语的工具,凭借其便捷、简单、高效的优势,日益受到年轻人的青睐。
    本项目APP主要针对用户有需要英语四六级考试、考研、出国留学考雅思、托福等在校大学生。还有就是初高中需要背英语单词的学生,以及想要提升自己词汇量的上班白领。这些用户的特征有(1)学生群体,受教育程度高,主动学习能力强;(2)好奇心强,对好玩有趣易用的新鲜事物感兴趣;(3)备考需要,想要提升自己的考试能力。经分析,这些用户的需求有(1)提高词汇量,满足考试、生活及工作需要;(2)充分利用碎片化时间,更有效率地学习;(3)需要有一套合理、科学的背单词学习计划,日积月累,成长看得见;(4)需要更有趣味地记单词,拒绝传统式枯燥、而且容易忘的记单词方式;(5)在记单词的时候,也想要提高自己的听力。
    为满足目标用户的需求,基本可以去确定本电子词典软件设计所要完成的功能目标。以下是本项目中电子词典具备的功能。
    (1)登录界面,用户进行登录,保障用户信息安全;
    (2)注册界面,供新用户进行注册;
    (3)主菜单界面,供用户选择要执行的操作界面;
    (4)单词列表界面,供用户查看当前词典所有单词以及学习中收藏的单词
    (5)计划更改界面,供用户选择词典以及制定每日所学习的单词数
    (6)单词学习界面,供用户进行单词记忆主要功能模块;
    (7)翻译界面,供用户进行生词的英汉互译;
    (8)翻译收藏界面,供用户收藏自己查询的易混单词;
    (9)单词本界面,供用户对学习问题及生词进行标注;
    (10)个人中心页面,供用户修改个人信息及头像;
    在设计软件之前,我们首先要对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么,要得到什么结果,最后应输出什么。本文转载自http://www.biyezuopin.vip/onews.asp?id=15129使用电子词典软件的最大群体是学生,他们需要准确性很强的单词解释,而对操作界面没有太高的要求。因而,我们最重要的就是增强电子词典软件的准确性。我们使用有道API、百度API这样准确性很强的电子词典接口,在词典中加入四六级、雅思托福等实用性强的词库。软件设计的布局要清晰,功能不宜太复杂,只有这样才能使不参与本软件编写的人熟练的使用。
package me.hades.yqword;import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;import com.umeng.analytics.MobclickAgent;
import com.umeng.commonsdk.UMConfigure;import me.hades.yqword.model.DaoMaster;
import me.hades.yqword.model.DaoSession;
import me.hades.yqword.preference.ApiPreference;
import me.hades.yqword.utils.CommonValues;
import me.hades.yqword.utils.Config;
import me.hades.yqword.utils.SPUtil;
import me.hades.yqword.utils.WordDatabase;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;/*** Created by hades on 2018/6/2.*/public class App extends Application implements Application.ActivityLifecycleCallbacks{private static final String TAG = App.class.getSimpleName();public static Context globalContext = null;public static ApiPreference apiPreference;/*** DEBUG 开关*/public static final Boolean DEBUG = true;DaoMaster.DevOpenHelper helper;SQLiteDatabase db;DaoMaster daoMaster;private DaoSession daoSession;@Overridepublic void onCreate() {super.onCreate();if(globalContext == null) {globalContext = getApplicationContext();}/*** 初始化common库* 参数1:上下文,不能为空* 参数2:【友盟+】 AppKey* 参数3:【友盟+】 Channel* 参数4:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子,默认为手机* 参数5:Push推送业务的secret*/UMConfigure.init(this, CommonValues.UMengAppkey,"Umeng",UMConfigure.DEVICE_TYPE_PHONE,null);/*** 对数据库进行初始化*/boolean isFirstOpen = !SPUtil.contains(globalContext, CommonValues.FIRST_OPEN);
//        isFirstOpen=false; //for init db , delete this laterif (isFirstOpen) {globalContext.deleteDatabase(CommonValues.DATABASE_NAME);new WordDatabase(globalContext).getWritableDatabase();helper = new DaoMaster.DevOpenHelper(this, CommonValues.DATABASE_NAME, null);db = helper.getWritableDatabase();daoMaster = new DaoMaster(db);daoSession = daoMaster.newSession();SPUtil.putAndApply(globalContext, CommonValues.FIRST_OPEN, "no");} else {db = new WordDatabase(globalContext).getWritableDatabase();daoMaster = new DaoMaster(db);daoSession = daoMaster.newSession();}// 初始化配置工具Config.setContext(globalContext);//初始化RetrofitRetrofit retrofit = new Retrofit.Builder().baseUrl(CommonValues.SERVER_URL).addConverterFactory(GsonConverterFactory.create()).build();apiPreference = retrofit.create(ApiPreference.class);}@Overridepublic void onActivityCreated(Activity activity, Bundle savedInstanceState) {}@Overridepublic void onActivityStarted(Activity activity) {}@Overridepublic void onActivityResumed(Activity activity) {if(DEBUG){}MobclickAgent.onResume(this);}@Overridepublic void onActivityPaused(Activity activity) {MobclickAgent.onPause(this);}@Overridepublic void onActivityStopped(Activity activity) {}@Overridepublic void onActivitySaveInstanceState(Activity activity, Bundle outState) {}@Overridepublic void onActivityDestroyed(Activity activity) {}/*** 返回数据库Session* @return*/public DaoSession getDaoSession() {return daoSession;}
}
































基于Android studio+SSH的单词记忆(背单词)APP设计相关推荐

  1. 基于Android Studio开发的旅游记录与分享APP源码,Android旅游路线记录与分享APP源码

    GoTravelling 旅游路线记录与分享Android App--同享旅行 下载地址:基于Android Studio开发的旅游记录与分享APP源码 App介绍 目标用户 在寒暑假内希望结伴同游的 ...

  2. 基于Android studio英语背单词系统java

    设计一个能在手机上运行的基于Android平台.JAVA语言编写的学习软件,能够实现查单词.背单词.记录错误单词等等.包括: 1.主页面:登入注册功能,登录账号更好的管理.记录自己的学习情况. 2.单 ...

  3. 《ArcGIS Runtime SDK for Android开发笔记》——(6)、基于Android Studio的ArcGIS Android工程结构解析...

    1.前言 Android Studio 是第一个Google官方的 Android 开发环境.其他工具,例如 Eclipse,在 Android Studio 发布之前已经有了大规模的使用.为了帮助开 ...

  4. 基于Android Studio搭建hello world工程

    基于Android Studio搭建hello world工程 版本:ANDROID STUDIO V0.4.6 This download includes: ·        Android St ...

  5. 《ArcGIS Runtime SDK for Android开发笔记》——(5)、基于Android Studio构建ArcGIS Android开发环境(离线部署)...

    1.前言 在上一篇的内容里我们介绍了基于Android Studio构建ArcGIS Runtime SDK for Android开发环境的基本流程,流程中我们采用的是基于Gradle的构建方式,在 ...

  6. 基于Android studio 的学生课堂管理app

    1.还是一如既往的期末考核的作业,当然不是我的,所所实话,这个题目才是符合大一学生课设的标准,难度适中,但是必须要花费大量时间题目: 2.基于Android studio 的掌上课堂app,主要是由学 ...

  7. 基于Android Studio实现的功能强大的购物商城APP源码,可做Android Studio毕业设计、大作业

    Android 购物商城app 完整代码下载地址:基于Android Studio实现的功能强大的购物商城APP源码 实现的功能: 注册 登录 修改密码 重置密码(邮箱验证,考核结束将移除授权码) 商 ...

  8. (超多图)基于Android studio开发的一个简单入门小应用(超级详细!!)(建议收藏)

    基于Android studio开发的一个简单入门小应用 一.前言 二.前期准备 三.开发一个小应用 五.运行应用 一.前言 在暑假期间,我学习JAVA基础,为了能早日实现自己用代码写出一个app的& ...

  9. 【毕业设计_课程设计】基于Android Studio平台的测量程序设计与实现

    文章目录 0 项目说明 1 简介 2 程序说明 2.1 主界面 2.2 测量工具箱 2.3 五个测量程序 3 项目工程 0 项目说明 基于Android Studio平台的测量程序设计与实现 提示:适 ...

  10. android studio绘制统计图,基于Android Studio的饼图账单的设计与开发_毕业论文.doc

    基于Android Studio的饼图账单的设计与开发_毕业论文 Anhui Vocactional & Technical College of Industry & Trade 毕 ...

最新文章

  1. python绘制盖尔圆并做特征值的隔离
  2. php学习,一个简单的Calendar(2) 一个简单的活动页面
  3. Redis生产环境架构选型方案对比
  4. 分析型数据库受大数据市场追捧
  5. 6、Dcoker 容器数据卷用DockerFile添加
  6. 将命令结果赋给变量_不得不了解的quot;变量quot;(2)—— 变量的赋值
  7. webstorm怎么建php文件夹,webstorm怎么创建css
  8. 山西台达plc可编程控制器_(PLC)可编程控制器的编程语言你了解吗?不妨看看...
  9. TelerikUI_RadGrid_Filter 自定义方法
  10. java_home的变量是_JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用
  11. linux安装java步骤
  12. 迪普应用防火墙产品线
  13. 痛与教训,我所亲历的3个失败游戏创业公司
  14. python 豆瓣源安装_python pip使用豆瓣源技巧和pip配置文件更改豆瓣源
  15. iDB-数据库自动化运维平台
  16. Interview:算法岗位面试—BAT公司问题面试之计算机基础(进程与线程的区别)、经典概率问题等集锦
  17. 18位身份证号码最后一位校验
  18. Linux 获取磁盘唯一ID方式
  19. 采用先进先出原则对货物的库存进行处理
  20. vmware走主机代理

热门文章

  1. 什么是DNS Spoofing, DNS Hijacking, and DNS Cache Poisoning?
  2. 网络钓鱼(Phishing)攻击方式
  3. macbook pro(m1) 安装JD-GUI
  4. 基于神经网络的车牌识别系统
  5. 数据驱动进化优化(data-driven evolutionary optimization)
  6. 几个新的H5标签介绍
  7. Legion:基于Haskell开发的极简区块链服务器
  8. Qt如何获取外网IP地址
  9. Ubuntu1604 在startup 中添加开机自启动
  10. Unity中Scene场景的视角设置成Game视图中的相机视角