无线互联科技
Wireless Internet Tech nology
基于Android的智慧考勤APP的设计与实现
黄日胜,陈冠志
(河源职业技术学院,广东 河源 517000)
摘 要:文章结合移动互联技术、二维码技术,结合学校教务管理系统的相关信息接口,构建一个基于Android平台的
智慧考勤应用系统。该系统包括教师签到系统和学生签到系统两部分,功能完善,操作简单,具有一定的应用价值。
关键词:智慧考勤;移动互联;二维码
学生考勤是课堂教学的一部分,是加强学生管理维护
学校教学秩序、保证各项教学任务顺利实施的一个关键环
节[1]。但传统的课堂点名方式不仅耗费了宝贵的课堂时间而
且还加重教师的工作负担[2]。当前,二维码具有信息容量大、
纠错能力强、印刷成本低等特点,而广泛应用于各种领域[3]。
物联网技术、移动互联技术的迅速发展,给日常生活带来巨
大的变化。由此本文将结合移动互联技术、二维码技术提出
一种基于Android 平台的智慧考勤应用系统,结合学校教务
系统的课程及学生信息,利用移动终端的摄像头采集并自动
识别二维码信息,然后通过移动互联网络传输到服务器,从
而实现移动在线智能化考勤。
1 智慧考勤APP功能概述
智慧考勤APP由两个部分组成:教师签到系统和学生签
到系统。教师签到系统方便教师发起签到和考勤统计,并实
时显示老师上课的课程表。学生签到系统实时显示学生上课
的课程表,学生可以通过扫二维码的方式进行签到。
1.1 教师签到系统
教师签到系统由教师课程表查看、对应课程发起签到、
对应课程考勤统计查看、搜索课程考勤统计、手动考勤管理
等功能组成。
教师课程表查看:从服务端获取该教师课程表的数据,
进行实时显示该教师上课的课程表。
对应课程发起签到:对课程表的课程进行长按,选择发
起签到,便可对该课程向服务端发起签到指令。
对应课程考勤统计查看:对课程表的课程进行长按,选
择考勤统计,便可查看该课程的考勤统计。
搜索课程考勤统计:教师可按学年-学期-班级-课程进
行搜索并查看考勤统计。
扫二维码签到:学生可通过扫二维码的方式进行签到。
学生课程表查看:从服务端获取该学生课程表的数据,
进行实时显示该学生上课的课程表。
查看对应课程的详细信息:对课程表的课程点击,便可
查看该课程的详细信息。
2 教师签到系统
2.1 教师课程表查看
课程表包含3个功能,分别是发起签到、考勤统计、手动
考勤管理,单击课程,就进入手动考勤管理界面;长按,就会
弹出发起签到和考勤统计的提示框。点击发起签到时,就会
向服务器发起签到指令;点击考勤统计,进入考勤统计界面。
从服务器获取教师上课的课程表JSON数据,接着进行
数据处理,最后将数据展示成界面。当教师单击课程时,就
进入手动考勤管理界面;当教师对课程表长按时,就会弹
出发起签到和考勤统计的提示框。点击发起签到时,就会
向服务器发起签到指令;点击考勤统计时,就进入该课程
的考勤统计界面。教师课程表、考勤统计的实施界面分别
如图1—2所示。显示课程表及手动考勤管理主要代码如下。
//显示课程表
private void showCourse(){
showCourseTemp(mCourseListTemp,0);
mCourseListTemp.clear();
showCourseTemp(mTeaCourseList,1);
mCourseListTemp.addAll(mTeaCourseList);
}
//手动考勤管理
A l e r t D i a l o g d i a l o g = n e w A l e r t D i a l o g .
Builder(SdglActivity.this)
手动考勤管理:对学生考勤异常的情况,教师可通过手
.setTitle(“对【“ + sdglBean.getName() + “】手动考勤
动对该学生进行考勤管理。
1.2 学生签到系统
学生签到系统由扫二维码签到、学生课程表查看、查看
对应课程的详细信息等功能组成。
操作:”)
.setSingleChoiceItems(new String[]{“正常签到”,”请
假”“迟到”“早退”“旷课”}, sdglBean.getState(),(dialog1,
which) ->{
基金项目:广东省高等职业教育品牌专业建设项目;项目编号:粤教高函(2016)114号。河源职业技术学院2017年度校级科技计划项目;项目编
号:2017KJ01。
作者简介:黄日胜(1979— ),男,江西龙南人,副教授,高级工程师,硕士;研究方向:物联网技术,无线传感网络,智能算法。
- 48 -
第16期2018年8月No.16August,2018
sdglBean.setState(which);
dialog1.dismiss();
ToastUtil.info(“操作成功”);
}).create();
dialog.show();
无线互联科技·软件透视
程进行筛选时,可查看到筛选出来的考勤统计结果。当教师
点击统计标题列时,会对该列进行降序或升序排列。条件筛
选、筛选结果实现界面分别如图3—4所示。条件筛选的主要
实施代码如下:
图1 教师课程表
图3 条件筛选
2.2 搜索课程考勤统计
图2 考勤统计
按学年—学期—班级—课程进行筛选时,可查看到筛
选出来的考勤统计结果。当教师按学年—学期—班级—课
图4 筛选结果
this.setOnClickListener(v ->{
if (myPopW.isShowing()){
myPopW.dismiss();
- 49 -
第16期2018年8月No.16August,2018
无线互联科技·软件透视
this.setTextColor(getResources().getColor(R.color.
colorDarkBlue));
this.setCompoundDrawablesWithIntrinsicBounds(null,
null, tvIcoDown, null);
} else{
myPopW.show(this);
this.setTextColor(getResources().getColor(R.color.
colorAccent));
this.setCompoundDrawablesWithIntrinsicBounds(null,
null, tvIcoUp, null);
}
});
3 学生签到系统
3.1 扫二维码签到设计
本功能基于Google的开源库 Zxing开发,学生点击扫
码按钮,打开摄像头,扫描服务器发过来的二维码,进行签
到。签到界面、扫码界面分别如图5—6所示。处理二维码扫
描结果的主要代码如下:
@Override
public void onActivityResult(int requestCode, int
resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == QR_CODE_REQUEST_CODE) {
//处理扫描结果(在界面上显示)
if (null != data) {
Bundle bundle = data.getExtras();
if (bundle == null){
return;
}
if (bundle.getInt(CodeUtils.RESULT_TYPE) ==
CodeUtils.RESULT_SUCCESS){
String result = bundle.getString(CodeUtils.RESULT_
STRING);
String resultUrl = result+”3838438”;
OkHttpUtils.post().url(resultUrl).build().execute(new
StringCallback(){
@Override
public void onError(Call call, Exception e, int i) {
}
@Override
public void onResponse(String s, int i) { }
});
}else if (bundle.getInt(CodeUtils.RESULT_TYPE) ==
CodeUtils.RESULT_FAILED){
ToastUtil.info(“解析二维码失败”);
}
}
}
}
图5 签到界面
3.2 学生课程表查看
图6 扫码
从服务器获取学生上课的课程表JSON数据,接着进行
数据处理,最后将数据展示成界面。当学生单击课程时,便
可查看该课程详细信息。学生课程表、课程详情界面分别如
图7—8所示。查看课程详情的主要实施代码如下:
protected void courseInfoShow(String byClsName)
{
L i s t < C o u r s e > q u e r y L i s t = D a t a S u p p o r t .
where(“clsName=?”, byClsName).find(Course.class);
for (Course course : queryList)
{
tvTeaName.setText(course.getTeaName());
tvClasName.setText(course.getClsName());
tvClsRoom.setText(course.getRoomName());
- 50 -
第16期2018年8月No.16August,2018
无线互联科技·软件透视
tvBeginWeek.setText(“第” + course.getBeginWeek() +
“周”);
tvEndWeek.setText(“第” + course.getEndWeek() +
“周”);
}
myPopW.show(getView());
}
4 结语
图8 课程详情
本系统通过结合移动互联网技术、二维码技术来实时
记录学生课堂出勤情况,有效整合学校教务系统的相关功
能。从实现结果来看,基于Android的智慧考勤APP操作方便
快捷,功能强大。对于提高点名效率,促进学校课堂管理具
有一定的意义。
图7 学生课程表
[1]喻臻钰,杨昆,袁凌云,等.基于物联网与Android平台的考勤系统设计与实现[J].软件导刊,2016(10):67-71.
[2]陈东伟,谭建新,温家成,等.基于微信的考勤信息管理系统设计与实现[J].信息技术,2017(5):85-88.
[3]韩哲.基于Android平台的二维码网络考勤系统设计与实现[J].安徽科技学院学报,2013(5):63-66.
[参考文献]
Design and implementation of intelligent attendance APP based on the Android platform
Huang Risheng, Chen Guanzhi
(Heyuan Polytechnic, Heyuan 517000, China)
Abstract:In this paper, an intelligent attendance application system based on Android platform is constructed by combining mobile
interconnection technology, two-dimensional code technology and the related information interface of school educational administration
system. The system consists of two parts: teacher check-in system and student check-in system. It has perfect function, simple operation
and has certain application value.
Key words:intelligent attendance; mobile interconnection; two-dimensional code
- 51 -
第16期2018年8月No.16August,2018