2。2。3 Sublime Text简介
Sublime Text 是一个HTML和散文先进的文本编辑器,一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。
Sublime Text用户界面良好、附属功能强大,例如代码缩略图,Python的插件,代码段等。
Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。
投票系统使用Sublime Text工具进行Web端的Node。js语言开发。主要优点是跨平台、多光标、高亮提示、扩展性高。
2。2。4 LeanCloud简介
LeanCloud 是针对移动应用的一站式云端服务,为应用开发者提供工具和平台。 提供数据存储、实时消息和推送、统计分析服务,全面涵盖应用开发的需求;支持IOS、Android、Web等多个平台使用。
投票系统使用LeanCloud为后端一站式云服务,主要是LeanCloud涵盖面广、涉及了最新的技术以及文档详细清晰,方便开发者使用。通过使用LeanCloud,相当于界面->数据,隐去了中间层,后端架构基本不用考虑,不需要考虑用户量的增长负载均衡、恶意攻击等因素。核心功能基于 Clojure 开发,稳定性高。
2。2。5 MVP架构简介
MVP是MVC模式的衍生版本。
MVP模式将显示逻辑和从业务逻辑层中分离出来。
Presenter替代Controller,实现主要的业务逻辑。Presenter处理事件逻辑,映射到Model操作Model。负责表现和协调整个Application。
MVP与MVC有着一个重大的区别:在MVP中View不直接使用Model,通信通过Presenter,交互都发生在Presenter内,而在MVC中View直接从Model中读取数据。
投票系统使用MVP架构将业务逻辑与控件展示分离,并使用单例模式、观察者模式进行辅助开发,尽管包和类增多了,但保证了代码清晰可读性,并且具有可扩展性高。
3 系统分析
3。1 开发环境
投票系统的开发环境是基于Windows的Java环境,数据库是使用云平台的SQL数据库,使用Android Studio编写Android端App代码,使用Sublime Text编写基于Node。js的Web端语言,并使用NPM将其部署到服务器上,绑定站点,供使用者访问。
Android使用者只需下载安装app就可进行投票。
Web端使用者打开浏览器,访问固定的站点,就可看到所有的选票情况。
3。2 需求分析
核心需求是投票,因此需要展示相关信息以及进行投票的功能;并且不能重复进行投票,所以需要一个字段记录对同一个对象投票的人的数组;投票需要有票选对象,所以用户可以申请成为票选对象,就需要将OpenUser表与_User表相关联。因此设计了OpenUser这样的表结构。来:自[优.尔]论,文-网www.youerw.com +QQ752018766-
3。3 系统设计
3。3。1 Web端设计
Web端需求主要是为了显示票选信息,就需要实现两大功能:
(1)票选对象的列表展示
(2)能够根据数据库内数据变更即时显示变更信息
3。3。2 Android端设计
Android端需求主要是为了方便用户进行投票、申请成为票选对象、票选对象与票选人之间的信息交流。
底部菜单的实现主要是用了FragmentTabHost+Fragment的形式,方便用户在各界面内切换。
布局主要以线性布局为主,以AutoLayout工具生成各Values文件,主要是使得屏幕大小以像素大小等比划分,当不同屏幕安装使用时加载不同的Values文件,通过使用这些xml文件完成了屏幕的适配。