Wireless Internet Technology
No.16August,2018
基于Android的智慧考勤APP的设计与实现
黄日胜,陈冠志
(河源职业技术学院,广东 河源 517000)
摘 要:文章结合移动互联技术、二维码技术,结合学校教务管理系统的相关信息接口,构建一个基于Android平台的
智慧考勤应用系统。该系统包括教师签到系统和学生签到系统两部分,功能完善,操作简单,具有一定的应用价值。关键词:智慧考勤;移动互联;二维码学生考勤是课堂教学的一部分,是加强学生管理维护学校教学秩序、保证各项教学任务顺利实施的一个关键环[1]节。但传统的课堂点名方式不仅耗费了宝贵的课堂时间而且还加重教师的工作负担[2]。当前,二维码具有信息容量大、纠错能力强、印刷成本低等特点,而广泛应用于各种领域[3]。物联网技术、移动互联技术的迅速发展,给日常生活带来巨大的变化。由此本文将结合移动互联技术、二维码技术提出一种基于Android 平台的智慧考勤应用系统,结合学校教务系统的课程及学生信息,利用移动终端的摄像头采集并自动识别二维码信息,然后通过移动互联网络传输到服务器,从而实现移动在线智能化考勤。1 智慧考勤APP功能概述
智慧考勤APP由两个部分组成:教师签到系统和学生签到系统。教师签到系统方便教师发起签到和考勤统计,并实时显示老师上课的课程表。学生签到系统实时显示学生上课的课程表,学生可以通过扫二维码的方式进行签到。1.1 教师签到系统
教师签到系统由教师课程表查看、对应课程发起签到、对应课程考勤统计查看、搜索课程考勤统计、手动考勤管理等功能组成。
教师课程表查看:从服务端获取该教师课程表的数据,进行实时显示该教师上课的课程表。
对应课程发起签到:对课程表的课程进行长按,选择发起签到,便可对该课程向服务端发起签到指令。
对应课程考勤统计查看:对课程表的课程进行长按,选择考勤统计,便可查看该课程的考勤统计。
搜索课程考勤统计:教师可按学年-学期-班级-课程进行搜索并查看考勤统计。
手动考勤管理:对学生考勤异常的情况,教师可通过手动对该学生进行考勤管理。1.2 学生签到系统
学生签到系统由扫二维码签到、学生课程表查看、查看对应课程的详细信息等功能组成。
扫二维码签到:学生可通过扫二维码的方式进行签到。学生课程表查看:从服务端获取该学生课程表的数据,进行实时显示该学生上课的课程表。
查看对应课程的详细信息:对课程表的课程点击,便可查看该课程的详细信息。2 教师签到系统2.1 教师课程表查看
课程表包含3个功能,分别是发起签到、考勤统计、手动考勤管理,单击课程,就进入手动考勤管理界面;长按,就会弹出发起签到和考勤统计的提示框。点击发起签到时,就会向服务器发起签到指令;点击考勤统计,进入考勤统计界面。
从服务器获取教师上课的课程表JSON数据,接着进行数据处理,最后将数据展示成界面。当教师单击课程时,就进入手动考勤管理界面;当教师对课程表长按时,就会弹出发起签到和考勤统计的提示框。点击发起签到时,就会向服务器发起签到指令;点击考勤统计时,就进入该课程的考勤统计界面。教师课程表、考勤统计的实施界面分别如图1—2所示。显示课程表及手动考勤管理主要代码如下。
//显示课程表
private void showCourse(){
showCourseTemp(mCourseListTemp,0);mCourseListTemp.clear();
showCourseTemp(mTeaCourseList,1);
mCourseListTemp.addAll(mTeaCourseList);}
//手动考勤管理
AlertDialog dialog = new AlertDialog.Builder(SdglActivity.this)
.setTitle(“对【“ + sdglBean.getName() + “】手动考勤操作:”)
.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();程进行筛选时,可查看到筛选出来的考勤统计结果。当教师点击统计标题列时,会对该列进行降序或升序排列。条件筛选、筛选结果实现界面分别如图3—4所示。条件筛选的主要实施代码如下:
dialog.show();
图1 教师课程表
图2 考勤统计2.2 搜索课程考勤统计
按学年—学期—班级—课程进行筛选时,可查看到筛选出来的考勤统计结果。当教师按学年—学期—班级—课
- 49 -
图3 条件筛选
图4 筛选结果
this.setOnClickListener(v ->{
if (myPopW.isShowing()){myPopW.dismiss();
第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 签到界面
图6 扫码
3.2 学生课程表查看
从服务器获取学生上课的课程表JSON数据,接着进行数据处理,最后将数据展示成界面。当学生单击课程时,便可查看该课程详细信息。学生课程表、课程详情界面分别如图7—8所示。查看课程详情的主要实施代码如下:
protected void courseInfoShow(String byClsName){
List 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());} 图8 课程详情 图7 学生课程表 4 结语 本系统通过结合移动互联网技术、二维码技术来实时记录学生课堂出勤情况,有效整合学校教务系统的相关功能。从实现结果来看,基于Android的智慧考勤APP操作方便快捷,功能强大。对于提高点名效率,促进学校课堂管理具有一定的意义。 [参考文献] [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) In this paper, an intelligent attendance application system based on Android platform is constructed by combining mobile Abstract: 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. intelligent attendance; mobile interconnection; two-dimensional codeKey words: - 51 - 因篇幅问题不能全部显示,请点此查看更多更全内容