基于安卓平台的校园一卡通系统设计

2021-12-18 13:42张盛邓旺
电脑知识与技术 2021年31期

张盛 邓旺

摘要:基于Android Studio开发环境提出了一种校园一卡通系统的实现方案。利用HeidiSQL图形化界面对MySQL数据库进行数据处理,同时以Tomcat作为手机与电脑响应互通的Web服务器。系统模块包括饭卡管理、饭卡充值、借阅查询等大部分功能,同时将饭卡管理功能作为基础项目开发,最终形成稍显完善的一卡通解决方案。其中提供的挂失恢复功能,支持随时随地进行操作,有效提高饭卡的安全性,而借阅查询功能也大大节约了学院师生的时间成本,让师生能更加专注于学习生活。

关键词:App设计;一卡通系统;校园信息化;数据库应用

中图分类号:TP311.5     文献标识码:A

文章编号:1009-3044(2021)31-0068-02

1 引言

移动互联网[1]时代的到来,使人们获取信息的途径越来越多样快捷,高校师生对“掌上校园”这类移动终端应用的需求也越发强烈。因此,智能手机[2]和数字化校园[3]的发展共同促进了手机校园App的产生。开发手机校园App不仅可以打造校园文化信息交流的平台,更重要的是其可以完善数字化校园体系。现今,我院师生仍采用传统的饭卡刷卡式就餐,然而,传统的刷卡式就餐存在的诸多弊端让师生诟病已久:如饭卡一经丢失,盗刷、错刷现象严重;补办饭卡后却又找到了原先的饭卡,造成资源浪费;不能实时掌握饭卡余额而忘记充值,导致结账时无法刷卡;充值窗口稀少且仅限于中午开放,占用大量午休时间等。而作为大学生活中必不可少的甚至是最重要的组成部分——图书馆,我院师生借完书后若想知道还书日期和剩余天数必须前往图书馆机器刷卡查询,浪费了大量宝贵的阅读时间。为解决此类实际问题,特开发基于智能手机平台的校园一卡通系统[4],通过App帮助师生更好地保管并使用好饭卡,推进学院的信息化建设。

针对现有我院师生的需求,提出了一种校园一卡通系统的设计方案。该系统可以做到随时随地对饭卡进行挂失,确保第一时间保障用户饭卡财产安全及顺利使用;在任意时间供用户查看卡内余额;真正做到即充即用,支持支付宝、微信等新型移动支付,免去就餐时卡内余额不足的尴尬;直接显示在借书目和编号,人性化提醒还书日期和剩余借阅天数。

2 实现方案

本方案中校园一卡通App基于Android Studio开发环境设计,主要有三大功能:饭卡管理,借阅查询和其他功能。其中,其他功能用于后续扩展应用而设置。其基本架构大致如下:

2.1 登录模块

实现流程如图2所示:

2.2 饭卡管理模块

饭卡管理是一卡通App最重要的一环,此界面集中了大量功能如余额查询、挂失恢复、在线充值等。页面最上方写有“XXX,欢迎使用校园一卡通系统”,下方设置三个TextView控件两端对齐,分别为“饭卡管理”“借阅查询”和“其他功能”。

饭卡管理页面有卡号、一卡通状态、余额等信息,在“状态”这一文本后设置一个按钮Button,以实现挂失恢复功能。对象status对应的便是状态,用“loginDto.getActive() == 0”来读取数据库“account”表中“active”的值,从而设置挂失按钮的名称。“active”=1即一卡通状态为“正常”,右侧按钮显示为“挂失”。若一卡通丢失,可点击“挂失”按钮,此时一卡通状态变为“已挂失”并弹出提示框“操作成功”;“active”=0即一卡通状态为“已挂失”,右侧按钮显示为“恢复”。若一卡通找回,可点击“恢复”按钮,此时一卡通状态变为“正常”,也会弹出提示框“操作成功”,流程图如图3。

该模块可提供在线挂失和恢复饭卡的功能,提高饭卡使用的安全性,及时保障一卡通内的财产安全或即时恢复使用饭卡。

2.3 在线充值模块

该模块能免去学院师生浪费时间、排队拥挤的充值苦恼,极大改善日常用卡现状。在饭卡管理界面中可方便地看到饭卡的余额。当饭卡余额不足时用户就要进行在线充值,以免在食堂就餐时发生尴尬。鉴于目前国内移动支付大大普及,所以本系统选择通过支付宝或微信支付这两种方式来对饭卡进行充值。首先设置点击充值按钮后所做的事情,运用Intent i = new Intent(IndexActivity.this, RechargeActivity.class)将IndexActivity上充值的数据传递到RechargeActivity中并打开,进入充值页面。在activity recharge.xml中,微信和支付宝支付需要用到RadioButton和RadioGroup来设置单选项。RadioButton表示单个圆形单选框,而RadioGroup是可以容纳多个RadioButton的容器,且每个RadioGroup中的RadioButton同时只能有一个被选中。页面最上方编辑一个TextView控件“充值金额:”和一个EditText输入框,在输入框中指定提示语“请输入充值金额”。点击“确认充值”按钮后,APP响应弹出对话框“系统提示”,内容显示为“确定充值xx元嗎?”,并设置“确定”和“返回”按钮。点击“确定”按钮后,为使充值效果更加逼真,加入“Thread.sleep(3000)”表示需响应等待3秒才显示“充值成功”。在这期间,更新后的数据被打包进Bundle。Bundle工具就好比是一辆货车,任何东西都能装,然后运到需要的地方,所以以它作为一个载体来存放id、account、balance等对象,再用intent方法将需要用到的值传递给IndexActivity页面。

2.4 借阅查询模块

该模块提供查询在借书籍的书名、书籍编号、还书日期和剩余天数等功能。借阅查询模块和饭卡状态、余额查询类似,重点在于数据库的读取和显示。 为清晰直观地显示借阅信息,借阅查询模块需要建立一张表格。本系统规定一卡通借书数量的上限为7本,所以用“ if(i > 6){Break;}”将书目控制在7条以下,如流程图4所示。

利用TableLayout定义一张4*8的表格,第一行有4栏内容,分别是书名、编号、还书日期和剩余天数,使用switch语句分别读取数据库信息并加以显示他们。剩余天数一栏的算法则较复杂,需要计算当天到还书日期的时间,算法为“Long dayCount = (new SimpleDateFormat("yyyy-MM-dd").parse(bookBorrowDtos.get(i).getBackDate()).getTime() - now.getTime()) / (60 * 60 * 1000 * 24)”。若dayCount大于或等于0,显示“dayCount+天”;若dayCount小于0,将dayCount赋予新值,“dayCount = -dayCount + 1”,此时显示“逾期+dayCount+天”。

3 小结

针对我院师生对于基于智能平台的一卡通需求,提出了一种基于Android Studio开发环境的实现方案。该系统融合了饭卡和图书借阅卡的系统管理功能,同时预留了后续功能的开发接口。

参考文献:

[1] 吴吉义,李文娟,黄剑平,等.移动互联网研究综述[J].中国科学:信息科学,2015,45(1):45-69.

[2]Pei Zheng, Lionel Ni. Smart phone and next generation mobile computing[M]. The Netherlands. Elsevier Morgan Kaufmann Elsevier Science,2006.

[3] 张德时.高校数字化校园建设规划科学研究[J].黑龙江高教研究,2010,28(8):39-41.

[4] 田丽.智慧校园环境下的校园一卡通建设[J].华东师范大学学报(自然科学版),2015(S1):530-535.

【通联编辑:梁书】

收稿日期:2021-05-12

作者简介:张盛(1982—),通信作者,副教授,博士,研究方向为信息与通信技术。