基于Android平台的教师课堂智能助手系统

张传玺+杨昭颖+彭忠洋+朱琳+张铭庆+田萱



摘 要:大学课堂上教师对照学生名单点名是保证教学质量的一种常见措施。在电子化教学成为主流的课堂,为了减轻点名的负担、节省时间,作者介绍了一款基于Android平台的教师课堂智能助手系统。该系统基于手机Android移动平台,采用蓝牙技术,帮助教师实现对课堂的智能监控管理。
关键词:教师课堂助手;蓝牙;通信;智能静音; Android平台
中图分类号:TP315 文献标志码:A 文章编号:1673-8454(2014)17-0056-04
在当前的大学课堂教学中,教师对课堂和学生的管理还处于一个非智能化的阶段。比较常见的一种方式是课堂上教师对照学生名单进行口头点名,这种点名过程常常持续几分钟,特别影响课堂效率。另一种常见的现象是课堂上教师的手机铃声响起,教师急急忙忙取出手机启动静音,这个过程往往打断了教师和学生的思路,影响课堂教学秩序。蓝牙点名的发展还处于一个比较低级的阶段,吉林大学曾在此方面做过一番尝试,但是吉林大学的蓝牙点名还停留在单纯的手机蓝牙配对方面,并未用软件对点名结果进行系统的管理,因此使用效果并不理想。[1][3]
为改变这种现状,笔者设计并研发出一个教师课堂智能助手系统,该系统建立在Android移动平台之上,基于蓝牙技术、通信技术,通过手机实现课堂自动点名和手机自动静音功能,帮助教师实现对课堂教学的智能监控和管理。Android平台是目前手机上搭载最多的操作系统,采用JAVA作为开发语言,是当下最受开发者欢迎的开发平台。基于Android平台的教师课堂智能助手系统采用了Google公司最新的Support-V4技术设计,具有较好的界面交互和用户体验。
一、课堂智能助手的系统设计
1.系统功能概要设计
(1)点名功能
点名功能主要由学生端和教师端两个模块构成,其中学生端是学生使用的功能模块,学生利用该模块输入自己的学号姓名等点名所需信息,自动匹配教师端的蓝牙设备,完成个人信息的发送功能,如图1所示。教师端则作为信息的接收端,通过将接收到的来自学生端的信息与自己手机中已经存储的学生信息进行匹配,来确认学生的出勤情况。
(2)课堂智能静音功能
课堂静音功能主要由课表管理、黑名单和重要联系人三个子模块构成,课表管理视图如图2所示,主要用于存储教师的课程信息,以便为执行课堂智能静音与静音的解除提供时间依据。重要联系人视图如图3所示,则用来存储重要的联系人信息,若在通讯录中被选为重要联系人,则在上课的时候设置为响铃模式,短信进行提醒。黑名单则用来存储教师在上课时完全不想被接入的电话,若在通讯录中被选为黑名单,则在上课的时候直接将呼入的电话切断,短信则直接屏蔽。对于其他联系人,我们将其设置为只振动不响铃模式,短信只接收不提醒。
(3)其他功能
其他功能主要包括日程管理和测验计时两部分,日程管理给用户提供了便捷的日程智能管理的功能,让教师或者学生在繁忙的日常生活中,能够有条理地完成日程安排。(见图4)测验计时功能则为教师提供了一个便捷的上课测验计时器,教师在上课开展小测验时,可以利用此功能完成测验计时,方便快捷。
2.系统架构
基于以上系统功能的分析和设计,本系统中采用了蓝牙技术和通信技术,以及实现该功能的功能视图和点名信息的存储数据模型。本文所述使用的蓝牙技术,特指上课期间通过教师机与学生机完成配对,调用下文所述使用的蓝牙技术完成课堂点名工作。本文所指的通信技术,特指基于Android SDK类库中用于完成手机开静音与短信拦截功能的相关技术。[2][4]基于以上论述,系统的架构划分为功能视图、硬件交互技术以及数据模型三个部分,如图5所示。
(1)功能视图设计
基于上述两大关键技术,充分考虑用户体验,系统的核心功能视图可以分为点名、静音、其他三个部分。其中,点名又划分为学生端视图与教师端视图,在硬件上使用了Bluetooth技术。静音划分为课表管理视图、黑名单视图、重要联系人视图,在硬件上使用了Telecommunications技术。其他划分为测验计时视图、日程管理视图、软件关于视图。
(2)硬件交互技术设计
基于软件的需要,硬件采用蓝牙技术与通信技术两大核心技术。蓝牙技术旨在通过基于Android 的Broadcast服务实现教师端与学生端的数据交互,通信技术则是运用课表管理视图的数据对电话与短信在指定时间的呼入与接收进行智能化处理,以达到课堂智能静音的目的。
(3)数据模型设计
由于要存储由点名生成的学生信息,所以我们创建了该数据模型,数据模型是由Handle控制多设备之间数据交互的数据结构,数据模型如图6所示:[5]
由图6我们可以看出,教师端中存储有一个小型数据库,内置多张学生班级表,班级表的数量根据教师的需求可以做出适当的调整,每张表格中存有name、number、class、date、count五项属性信息,其中name用于存放班级中学生的姓名,number用于存放学生的学号,class用于存放学生的班级,date用于存放学生最后一次上课的时间信息,count用于存放学生的到课次数。当点名开始时,前三项数据用来匹配学生端发来的到课信息,确保无误后,教师端会自动更新后两项信息。
综上所述,设备间的点名交互数据按照这样的结构存储在数据库文件中,以实现储存点名信息的目的。
二、关键技术的实现
1.基于Bluetooth技术的课堂点名功能
(1)发送端(学生端)
发送端充分利用了蓝牙服务功能,通过教师机终端和学生机终端蓝牙配对的方式来实现上课点名交互服务。在学生端的视图中,首先启动蓝牙服务并寻找匹配对象,匹配完成后,转入个人信息输入界面,开始进行点名工作。当收到接收端的确认信息后,确认点名成功。因此,从点名开始到结束的全过程中,用户需一直开启蓝牙服务,以确保点名功能的正常进行。
发送端的实现由StudentActivity.java,StudentBlueToothService.java, student.xml三部分组成,其中以StudentActivity.java作为一个活动,搭载student.xml实现视图部分,具体的蓝牙发送服务则由StudentBlueToothService.java文件实现。作为核心的蓝牙发送端服务在Android开发中继承CommonService类,同时需要重写Runnable接口,具体实现如下:
一是蓝牙服务在定义的初期,需要标识有效的UUID,以确保它对同一时空中所有机器的唯一性。[6]在拥有有效的UUID之后,通过蓝牙套接字bluetoothSocket建立与UUID的连接,由connect(BluetoothDevice device)新建一个线程,以确保蓝牙的启动。其核心代码如下:
//蓝牙套接字与UUID的匹配过程
bluetoothSocket= device.createRfcommSocketToServiceRecord(java.util.UUID.fromString(UUID));
//套接字匹配完成后与设备的连接
bluetoothSocket.connect();
//新线程的创建
new Thread(this).start();
二是在蓝牙设置完备后,由sendMsg(BMsg msg)函数完成点名数据的传送,系统获取用户在StudentActivity.java与系统交互的数据,并按照已经定义好的Handle的数据结构(在发送端部分采用HashMap的方式)将其存储在数据库文件中,待用户确认后,向接收端发送信息。其核心代码如下:
//终端获取一个接收设备
devices.add(device);
//定义一个哈希表的数据结构,并将获取的数据信息按照哈希表的形式存储
Map map = new HashMap();
map.put("name", device.getName());
map.put("address", device.getAddress());
data.add(map);
//将获取的信息打包入msg准备发送
oos.writeObject(msg);
(2)接收端(教师端)
接收端利用蓝牙自身的特性,逐一完成与每个发送端之间的配对功能,在完成配对之后,依次接收由发送端发送的信息,并按照特定的数据结构,对接收的信息进行处理。此外,在整个课堂的任一时刻,还能完成不定时的点名功能,以确保不会出现迟到或者早退的现象。
接收端的实现由TeacherActivity.java,TeacherBlueToothService.java, Teacher.xml三部分组成,其中以TeacherActivity.java作为一个活动,搭载Teacher.xml实现的视图部分,具体的蓝牙接收服务则由TeacherBlueToothService.java文件实现。作为核心的蓝牙接收端服务在Android开发中继承CommonService类,具体实现如下:
在执行与发送端相同的UUID配对服务之后,接收端通过handlerBMsg(final BMsg msg)方法来分析收到的信息,在实例化一个BMsg服务之后,通过服务器对收到的文本进行解析,以确认签到的信息真实程度,以及排查是否出现重复签到、迟到的现象。其核心代码如下:
//实例化一个 BMsg
BMsg rMsg = new BMsg();
//用BMsg对收到的文本进行解析
rMsg.setCmd(BMsg.CMD_OK);
//判断接收信息的合法性
if(StringUtil.isEmptyOrNull(msg.getImei()))
//信息获取成功后打印信息
switch (msg.getCmd())
{
case BMsg.CMD_REGISTER://注册
Log.v(tag, "用户注册:"+msg.getName()+" "+msg.getNumber()+" "+msg.getImei());
}
基于蓝牙服务的应用如上文所述,通过对学生端和教师端的配合使用达到简化教师上课点名的目的。
2.利用通信技术对课堂智能静音功能的实现
课堂智能静音首先对课表管理中所获取的课表信息数据进行处理,以匹配正确的上课时间,执行自动静音功能。在课程结束后,能够自动恢复手机铃声,以此来避免上课教学时由手机铃声所带来的不便。
手机自动静音以课表设置视图的设置为主要支撑,借以调用与Telecommunications相关的硬件来完成静音功能。而Telecommunications的主要实现又以Broadcast技术为核心,其主要实现方法如下:
首先以异步的形式调用loadImportantList()方法对联系人的名单进行加载,使用protected List doInBackground(Void... params)的泛型数据结构对重要联系人进行匹配,读取之前设定的重要联系人信息。[7]其核心代码如下:
//从数据库中选取所有的联系人
List importantList = dao.queryForList(Contact.class, "select * from Contact where type=?",new String[]{ContactType.TYPE_IMPORTANT+""});

//返回已经选中的重要联系人
return c2.getType() - c1.getType();
其次,以同样的方式,完成对黑名单联系人的加载。在设定好的上课时间中,分别对重要联系人设置为铃声模式,对黑名单设置为直接切断,对其他联系人设置为静音。以实现上课时间铃声智能管理的功能。其核心代码如下:
//静音的实现
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
//取消静音的实现
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
第三,对于外界发送的短信,对重要联系人设置为接收提醒,对黑名单设置为拦截,对其他联系人只接收不提示,其核心代码如下:
// 获取短信内容
String content = message.getMessageBody();
// 得到发信息的号码
String sender = message.getOriginatingAddress();
//实现短信的放行功能
Log.v(tag, "接收到短信:sender = "+sender+" content="+content);
Log.v(tag, "重要联系人:"+c.getName()+" "+c.getNumber());
ViewUtil.toast(context, "<重要联系人>"+c.getName()+"的信息");
RingUtil.ringNotification(context);
VibratorUtil.vibrate(context);
//实现短信黑名单的拦截
((c = Global.isInBlackList(sender, dao))!=null)
Log.v(tag, "黑名单:"+c.getName()+" "+c.getNumber());
this.abortBroadcast();
三、系统开发结果
经过软件的后期测试,软件在Android4.1.2及以上版本配有蓝牙设备的手机中,点名功能实现准确无误。用户交互界面友好且运行正常,蓝牙可搜寻的范围真实有效。在课堂教学实践中,课堂智能静音功能运转正常。此外,软件在后台挂起时,依然能够正常运转。
系统在Support-V4技术的支持下,极大地节省了系统资源,在最大程度上避免了因重复调用Activity所引起的系统资源重置导致的资源浪费,保证了系统高效稳定的运行。
此外,系统在切换国际化时能实现完美的自适应,整个界面风格统一友好,操作简便,在移动终端上拥有良好的用户体验。
四、结束语
随着当今大学课堂教学智能化的发展,诸如课堂点名、手机课堂智能静音等琐碎日常事务亟待被智能化。基于Android的教师课堂智能助手,运用了蓝牙技术与通信技术,对大学点名以及课堂智能静音实现了智能化管理。同时,该软件在课堂点名方面对蓝牙设备进行了最大化应用,并且将通信技术应用到静音化管理中。随着时代的进步与移动技术在现代生活中发展的日趋成熟,本软件在功能的完备性和简化上还有很大的上升空间。在今后的学习和研究中,将进一步深化和扩展蓝牙技术与通信技术的有机结合,使该系统能在今后的大学教学工作中发挥越来越大的作用。[8]
参考文献:
[1]孟祥武,王凡,史艳翠,张玉洁.移动用户需求获取技术及其应用[J].软件学报,2014 (3):439-456.
[2]胡扬帆,杨刚,胡颢石.结合LBS和信息推送的博物馆APP的设计实现[J].计算机应用与软件,2013 (12):108-113.
[3]刘婕.基于Android系统的移动终端通讯录的研究与设计[D].西安:西安电子科技大学,2012.
[4]王春波,赵建平,冯宇.基于蓝牙的 Ad Hoc 网络研究与实现[J].吉林大学学报(信息科学版),2014(1):101-105.
[5]周江,庄越.移动数据库关键技术研究[J].数字技术与应用,2013(11):35-37.
[6]黄莹.基于Android平台智能手机多方通话软件测试系统的研究与实现[D].武汉:华中师范大学,2013.
[7]邹丽丽.Android若干关键技术研究与应用系统开发[D].杭州:浙江大学,2013.
[8]张宁.基于Android的移动终端数据采集的实现[D].呼和浩特:内蒙古大学,2013.
(编辑:王天鹏)
相关文章!
  • 信息技术背景下高中化学探究性

    唐永 摘要:高中化学教学的重要任务是在学科知识学习过程中培养学生的学科核心素养。探究性教学,以学生自主探究学习为课堂中心,以真实

  • 《管家》中玛丽莲·罗宾逊对圣经

    内容摘要:作为坚定的基督教徒,玛丽莲·罗宾逊的小说具有浓厚的宗教色彩,《管家》中从修辞到主题各个层面上的许多设计具有明显的圣经元素

  • 高中语文教学中教师应变艺术的

    江晖【摘要】课堂教学是一门高深的艺术。教育家乌申斯基曾认为,教学是“一切艺术中最渊博、最复杂、最高和最必需的艺术”。课堂教学作为一项