基于安卓的投票系统的设计与实现

 2023-07-28 09:07

论文总字数:19365字

摘 要

为了解决纸质和计票器计票在资源上的浪费,在移动设备普及的互联网背景下,采用LeanCloud的后端一站式云服务技术,设计了以Android设备为投票基础、大屏展示在Web端的投票系统,实现了票选列表展示、投票、实时刷新等功能,具有使用方便、信息安全及时、部署配置简单等特点。

关键词:投票系统,Android,LeanCloud

Abstract:In order to solve the paper and counting ballots in the waste of resources,in the mobile devices under the background of popularization of the Internet this Voting System by adopting the technology of LeanCloud backend one-stop services in the cloud, designed based on the vote of Android devices, screen display in the voting system on the Web realizes the poll list for display, voting, real-time refresh etc and is easy to use, information security, simple deployment configuration and so on in a timely manner.

Keywords:Voting system,Android,LeanCloud

目 录

1 前言 6

2 系统概述 6

2.1 方案选择 6

2.2 工具选择 7

3 系统分析 8

3.1 开发环境 8

3.2 需求分析 9

3.3 系统设计 9

3.4 开发用例 9

3.5 数据库设计 11

4 系统功能设计与实现 13

4.1 Android端功能模块 15

4.2 Web端功能模块 23

5 系统测试 26

5.1 测试用例 26

5.2 测试结果 26

结 论 27

参 考 文 献 28

致 谢 29

1 前言

为了解决了纸质和计票器计票在资源上浪费[1,2,3],该投票系统在LeanCloud的后端一站式云服务的基础上,以Android和Web为平台,采用了Java面向对象、LeanCloud云服务等技术,实现了票选列表展示、投票以及实时刷新等功能。不仅应用场景、使用者广泛,而且节省资源、操作方便。

参考文献[1]中提到了使用Android端作为计票器实现投票的社会背景以及社会需求。随着Android手机的普及以及社会科技的进步,传统的计票方式愈加不能适应时代的投票需求。将传统模式与使用Android实现投票的模式对比,得出了基于Android端实现投票功能设计的必要趋势。

参考文献[2]提到了设计Android端、Web端以及数据库实现投票功能的思路,为投票系统的设计提供了参考,有效地解决了Android端的系统搭建等问题,详细地说明了投票的原理,根据这个原理为数据库的设计提供了可靠的支持,满足了投票的基本功能。

参考文献[7]介绍了LeanCloud的背景、系统架构以及提供的服务,从对象的角度说明了数据的存储以及读取是怎么实现的。

2 系统概述

通过LeanCloud的后端一站式云服务,方便管理数据库。投票系统基于android平台,通过android设备连接到云平台服务器,访问数据库进行数据的管理,数据库信息一旦变更就通过云平台的Hook云函数,即时通知具体的Web端以及Android端。Web端与其建立长连接,接收到通知就即时刷新;Android端就可使用手势上下拉刷新,进行数据的即时显示。

2.1 方案选择

项目启动前,经过长期的比较思考,主要确定了两种方案:

一种是基于本机为服务器,用花生壳反向代理,再进行站点访问的解决方案。

另外一种是基于LeanCloud的后端一站式云服务的,Android端和Web端通过使用其提供的SDK访问云平台上部署的APP的数据库,进行数据库管理,然后显示在各个平台上的解决方案。

2.1.1 花生壳反向代理

花生壳是动态域名解析软件。

花生壳客户端向用户提供桌面式域名管理及动态域名解析服务。无需通过浏览器,便可直接通过其客户端使用所提供的各项服务,操作界面清晰简单。

使用花生壳反向代理,需有本机服务器的硬件设备支持、部署配置运行的技术手段支持、接口路由编写供外部调用的代码支持。

对于整体需求来说这并不简单、便捷。因而没有使用该解决方案。

2.1.2 LeanCloud云服务

市场上的云服务主要有环信、融云以及LeanCloud。对比环信、融云,LeanCloud 除了 即时通讯,还有统计分析、消息推送、数据存储等功能。大大方便了开发者的使用。

BaaS公司为移动应用开发者提供整合云后端的边界服务。

第一代云服务是AWS、微软云、SoftLayer等公有云,通过广泛部署云数据中心解决了开发和运维系统不需要管理服务器的问题。

LeanCloud是第二代云服务的先行者。对云计算资源进一步封装、简化与优化,提供开发、运维和服务的一站式云服务。帮助开发者摆脱后端开发负担以专注于产品创新,同时缩短开发周期、节省开发投入、快速进入市场。

LeanCloud平台提供数据库以及Web站点的使用,通过接入该平台,可方便地进行数据存储、展示。

对比了两种解决方案的优劣点,在同等的学习曲线下,LeanCloud云服务比用花生壳做反向代理的方法更具有优势。

2.2 工具选择

2.2.1 Android Studio简介

Android Studio是一个基于IDE的Android开发环境。使用Gradle和Maven进行对第三方开源包的引用,响应速度快,内存占用低。智能提示补全信息强大,提高了开发效率。UI编辑器自带了多设备的实时预览,方便开发者实时观察布局设计的效果。自带了GitHub、Git、SVN等流行的版本控制系统,有利于项目的持续集成及维护。

Android Studio是Google公司提供的基于Linux,Mac OS X,Windows的面向Android端开发工具。

投票系统使用Android Studio进行开发,在基于LeanCloud的后端一站式云服务的背景下,可以快速轻松地更新第三方开源包的版本,与各个开源库的提供商实现技术的同步。界面也比老牌的Eclipse优秀,具有更多的项目分类方式,方便用户进行针对性开发。项目结构清晰简捷。

2.2.2 Node.js简介

Node.js是一个JS运行环境。Node.js优化了特殊用例,提高了运行效率。

Node.js是一个基于谷歌JS运行时建立的平台, 可方便地搭建响应速度快、易于扩展的网络应用。

剩余内容已隐藏,请支付后下载全文,论文总字数:19365字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;