# 单词记忆 APP
**摘要**:近年来,随着手机的日趋流行,手机软件也日益发展壮大。而在全球化的背景下,对于英语的学习也变得越来越重要。手机电子词典软件作为学习英语的工具,凭借其便捷、简单、高效的优势,日益受到年轻人的青睐。它通过使用联网数据库或者本地数据库来实现对单词、句子的查询,并且显示在图形用户界面上。本项目拟开发一款跨平台的电子词典软件,包括三部分:第一部分是词典,第二部分是翻译,第三部分是个人中心。词典部分包括四六级等关于英文的题库。该部分主要是用户根据自己的实际需要选取相应词典进行单词学习。翻译部分主要是调用百度 API 来实现中英文互译,实现生词加入收藏。个人中心部分则是存储用户的个人信息,以及用户生词本的维护。
# 一、项目介绍
## 1.1 项目介绍
课程设计选题《单词记忆 APP》
## 1.2 项目的目的和意义
全球化渗入到我们生活的方方面面,英语在我们学习、生活和工作中扮演着重要的角色。手机词典软件的出现给人们对于英语的学习与使用带来了极大的便利,通过使用手机词典软件,我们可以轻松解决所遇到生疏的英语单词。随着手机的使用日益普遍,支持各种系统系统的手机应用软件也日益增多,电子词典软件就是其中很好的学习英语的工具。
而专注于某一种手机系统开发的 APP 普及型不强,且若分别针对每种手机系统进行开发,会浪费大量人力物力。因此有了跨平台 APP 开发框架的出现。使开发人员更容易为多个平台构建 APP,而无需花费大量精力在每个平台上编写相同功能的代码。这些框架的作用是,它们允许你写下一段代码,然后在许多其他平台上重用该代码。由于各个平台的某些部分之间存在很大差异,因此开发人员必须对它们进行编码。但是,使这些框架成为一个有利可图的选择的事实是它们允许用户重用大约 70%的代码。而且,它可以极大地降低在金钱和时间方面开发成本。
Ionic 是一个开源的移动应用程序开发框架,它可以轻松地使用 Web 技术构建高质量的跨平台的移动应用。可以让我们快速开发移动 App、移动端 Web 页面、微信公众平台应用,混合 app Web 页面。Ionic4 目前已经发布了基于 Angular 的正式版本,对 React 和 Vue 的支持尚处于 alpha 状态,未来我们可以用自己喜欢的语言结合 Ionic 来开发移动端应用。Ionic4 是 Ionic 有史以来最快、最小和最可扩展的版本。它的优异的性能则让 Ionic 成为了构建高性能 PWA 的最佳 UI 框架。 Ionic 团队花了一年的时间使用 Stencil 构建一个 Web 组件管道来生成 Ionic 组件,以达到 Google 规定的性能标准,使用新的异步组件加载和交互的方法。确保 Ionic4 有更快的运行速度。
本手机词典软件是就是基于 ionic 框架进行开发的,功能明确,内容准确,操作简单,适合大部分人群使用。在设计本软件之前,我们首先对手机软件市场做了充分的调研,明确了人们对于手机电子词典软件的功能需求,然后进行了详细的软件需求分析以及软件的整体结构设计,确保本软件的每一个功能对于用户来说都是有意义的。接着我们对软件进行了详细设计,将项目分成多个设计模块,完成各个设计模块的功能,最后将各个模块通过设计好的框架整合在一起。最后当整个项目完成后,对软件做性能测试,确保软件按照正确方式运行。
## 1.3 相关技术介绍
### 1.3.1 前端框架
**ionic + angular + cordova 混合框架**
混合开发,是介于 H5 和原生之间的一种开发模式,既有原生的部分,也有 H5 的部分,结合了各自有优点,这种开发模式,既可以做到跨平台,也能上各大应用市场。
**cordova —— 应用的壳**
cordova 是 Apache 的开源框架,是由 PhoneGap 演化而来的一套核心代码。可以理解为 Webkit 和 Google Chrome 的关系。cordova 提供了一系列移动平台的壳,例如 iOS、Android、Ubuntu phone os、Blackberry、Windows Phone、Palm WebOS、Bada 和 Symbian。主要用于嵌套 H5,将 H5 打成应用市场认可的包,并且提供一套基于 js 的 H5 和各个移动平台通讯的 API。比如获取手机文件、相机、手机信息、拨打电话等等基础功能。cordova 把这些和手机系统互相通讯的功能,封装成一个个插件,需要用到某一个功能,添加即可调用。如果 cordova 提供的插件不能满足你和手机的通讯, cordova 也支持自定义插件,可以自己开发一个插件。
**ionic —— 应用的界面**
ionic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。 可以帮助您使用 Web 技术,比如 HTML、CSS 和 JavaScript 构建接近原生体验的移动应用程序。ionic 主要关注外观和体验,以及和你的应用程序的 UI 交互,特别适合用于基于 Hybird 模式的 HTML5 移动应用程序开发。ionic 是一个轻量的手机 UI 库,具有速度快,界面现代化、美观等特点。为了解决其他一些 UI 库在手机上运行缓慢的问题,它直接放弃了 IOS6 和 Android4.1 以下的版本支持,来获取更好的使用体验。
Ionic 有如下特点:
- ionic 基于 Angular 语法,简单易学。
- ionic 是一个轻量级框架。
- ionic 完美的融合下一代移动框架,支持 AngularJS 的特性, MVC ,代码易维护。
- ionic 提供了漂亮的设计,通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。
- ionic 专注原生,让你看不出混合应用和原生的区别
- ionic 提供了强大的命令行工具。
- ionic 性能优越,运行速度快。
**angular —— 应用核心**
angular 一个套 js 库,类似 jQuery 。主要用于,界面的数据绑定,和界面逻辑的处理。
**NG-ZORRO-MOBILE 移动端 UI 组件库**
Ant Design 是蚂蚁金服体验技术部开发出一个服务于企业级产品的设计组件库,来帮助业务快速设计出高质量的产品原型。基于『确定』和『自然』的设计价值观,通过模块化的解决方案,降低冗余的生产成本,让设计者专注于更好的用户体验。而 NG-ZORRO-MOBILE 是 Ant Design 基于 angular 的兼容 ionic 的移动端版本。
### 1.3.2 后端框架
SSH 框架是 Struts、Spring、Hibernate 的一个合成框架,使用 Struts 作为系统的整体基础架构,负责 MVC 的分离,在 Struts 框架的模型部分,控制业务跳转,利用 Hibernate 框架对持久层提供支持,Spring 做支持,支持 struts 和 hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的 Java 对象,然后编写基本的 DAO(Data Access Objects)接口,并给出 Hibernate 的 DAO 实现,采用 Hibernate 架构实现的 DAO 类来实现 Java 类与数据库之间的转换和访问,最后由 Spring 做支持,支持 struts 和 hibernate。其实 SSH 框架最主要的本质是:“高内聚、低耦合”。
**Struts2**
JSP、Servlet、JavaBean 技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts 便应运而生。
Struts2 工作流程
- 第一步:客户端初始化一个指向 Servlet 容器(例如 Tomcat)的请求
- 第二步:这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做 ActionContextCleanUp �