APP下载

基于Android 平台的评分系统

2015-12-10黄锵

电脑知识与技术 2015年26期

黄锵

摘要:针对当下各类竞赛评选活动频繁举行,为提高企事业单位组织赛事统计分数的效率和公信力,提出构建一套基于Android平台的评分系统。系统通过配置信息,实现随时、动态的加载不同评选活动的评分细则,可以达到一个应用,各赛通用的效果,降低赛事评分统计应用的研发成本。

关键词:Android;评分系统;动态配置;控件加载;

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)26-0073-02

在企事业单位或高校教育过程中,往往会通过组织竞赛,以赛事作为检测、选拔人才的途径。此外,各级政府也通过组织各种文艺汇演竞赛,以丰富人民的文化生活[1]。

采用纸质评分方式速度慢、统计容易出错,并且易被修改。面对众多的评分需求和原始评分方式的不足,学者采用了Access[1]、Excel[2,3,4,5]、PowerPoint[2,5]等办公软件进行赛事评分。以办公软件作为评分工具载体的方式,具有上手简单、统计便捷的特点,但同时也决定了必须通过计算机终端作为输入,才可以完成评分工作。需要为评委们配备台式计算机或便携式计算机,并且安装指定版本的办公软件,才可以完成评分工作。赛事增加配备硬件设备,无疑会加大准备赛事的难度和提高赛事的运营成本。另外,通过办公软件定制的评分系统,往往只是针对某一项比赛,一旦赛事结束,评分软件即被弃用。将已有系统应用到新的比赛环境,往往需要较大量的二次开发,以适配不同比赛的不同评分细则。从而导致开发成本较高,软件利用率较低的问题。

1 安卓系统简介

安卓操作系统是一款基于Linux内核的移动端操作系统。它是一个开放系统内核源代码的手机平台。任何手机厂商,均可直接使用安卓系统。根据安卓官方网站的统计,在全球移动端的市场占有率已经超过了80%。

整个安卓操作系统,主要分为Linux内核层、库和安卓应用运行环境、应用框架层和顶层的用户级应用。用户级应用主要采用Java语言进行开发,以APK文件的形式发布到安卓市场,供手机用户下载使用。应用安装后,有两种运行模式。一种是以字节码的形式,在Dalvik虚拟机中运行;另一种是在安卓4.4的版本后,应用被直接转换为本地机器码,通过安卓运行时(Android RunTime)执行,以提高应用运行的流程性。

安卓系统是一个在不断发展和完善的操作系统,受到广大开发者的热捧和消费者的喜爱,愈发完善的操作系统和不断推陈出新的应用必将丰富人们的日常生活和提高人们的工作效率。

2 评分系统设计

本评分系统旨在提高各类赛事的评分工作效率,选取目前市场份额高、使用门槛低的安卓操作系统作为运行平台,使用Java程序设计语言进行开发,主要的设计如下:

2.1 功能设计

评分系统采用C/S架构,整体系统模块划分为赛事管理、参赛作品管理、作品评分、赛果查询、参赛团队管理和评委管理六大模块。客户端主要是安卓平台,具有赛事管理中的查看赛事、查看参赛作品、查看作品详情、对作品进行评分和查询赛果的功能。服务器端采用Servlet的技术,主要响应客户端的请求,向客户端发送赛事信息、作品详情、评分细则等信息;完成对客户端提交评分结果的保存。

2.2 领域模型设计

在竞赛评分的业务领域中,存在五个核心的概念:赛事、作品、参赛选手、评委和评分细则。因此,在业务层的数据存储设计中,通过TB_CONTEST表记录各种不同的赛事,包括各项赛事的有效期。以TB_CONTEST表的主键作为外键,创建TB_ENTRY表记录参加某项赛事的作品。考虑到参赛的作品有可能是个人作品,也可能是团队作品,所以设置了TB_TEAM表和TB_CONTESTANT表,分别表示参赛团队和参赛选手。某团队具体有哪些参赛选手,通过TB_TEAM_MEMBER表建立TB_TEAM和TB_CONTESTANT表之间的关联。为了更好的利用Java编程语言的多态性,在编程实现的过程中,引入“个人团队”的概念,默认为单个选手创建一个只有一名成员的团队,从而使得整个赛事的作品、评分可以用统一的业务模型,针对“团队”的概念进行处理,而不必区分是独立完成的作品还是多人共同完成的作品。

基于不同赛事有不同的评分细则,为提高系统的扩展性,评分系统在评分模块的架构上采用MVC模式。在Model层,以TB_ITEM表记录具体的评分细则及分值,TB_SCORE表记录评委最终评定的具体分值,TB_JUDGRE表记录评委信息。在视图层,管理人员可以根据不同的评分项,配置TB_ITEM_VIEW_TYPE表,控制用于展示评分细则的安卓视图组件,例如同样是“编程风格良好”、总分值为10分的评分项,有的赛事可以选择设置为下拉框展示评分项,提供0至10的分值供评委选择,有的赛事可以选择设置为数值编辑框来展示评分项,评委在编辑框内输入评分值。一份评分表格由多条评分项构成,评分项的展示先后顺序通过TB_ITEM_VIEW表进行配置。

3 评分系统的实现

评委在客户端打开评分系统并登录后,系统将进入赛事列表界面(图3)。评委选择其中一项赛事,单击列表项后进入作品列表界面(图4)。其中,评委还未打分的作品会以红色字体突出显示,以提示评委进行打分。评委任意点选一个参赛作品,即可进入作品的详细评分页面(图5)。根据管理员对评分表的配置,客户端会为每一个参赛作品,动态自动创建评分表,使用数据库中配置的视图控件来进行评分。管理员可以根据评分项的特点,设置评分项使用文本编辑框进行评分(如图6所示)或使用列表选项框的方式进行评分(如图7所示)。评委点击保存按钮后,作品每条评分项的得分将被上传到服务器进行存储。回到作品列表界面后,将立刻可以看见作品得分(如图8所示)。

其中,动态装配评分表的原理如下图9所示。整个评分表为安卓组件滚动视图ScrollView。通过JudgeDao读取评分项的配置表TB_ITEM,获得评分项的详情及其分值。评分项的展示控件VIEW_TYPE字段的数值作为TB_ITEM_VIEW_TYPE的外键,通过它可以获取TB_ITEM_VIEW_TYPE中的控件信息,从而确定使用什么类型的视图控件来展示评分项,供评委进行打分。在TB_ITEM_VIEW表控制评分项的显示顺序、评分项的默认值、校验条件和选项范围等与评分项显示相关的参数,例如文本编辑框中是否支持小数的输入、列表选项的各个选项值。

4 结束语

针对赛事的评分需求,设计了一个使用门槛低、重用性高 的基于安卓平台的评分系统,可以对各种赛事的评分工作进行迅速、准确和灵活的定制,提高赛事评分的效率和准确性。

参考文献:

[1] 陈定棋. 基于Access比赛评分系统的设计与实现[J]. 电脑知识与技术, 2015, 11(14): 61-63.

[2] 李祖全. Excel加PowerPoint轻松创建比赛评分系统[J]. 中小学信息技术教育, 2010(11): 85.

[3] 马伟东, 刘明滋. 用ExcelVBA实现比赛评分系统[J]. 电脑编程技巧与维护, 2013(24): 46-47.

[4] 吴江, 李太勇, 刘洋洋. 基于Excel的试卷生成和评分系统[J]. 中国教育信息化, 2011(19): 37-39.

[5] 陈艳郁. 用Excel和PowerPoint组合做演讲比赛评分系统[J]. 办公自动化:综合版, 2008(1): 47-48.