收藏 分销(赏)

基于AppInventor的GPS课堂点名应用系统设计与实现.docx

上传人:天**** 文档编号:3399077 上传时间:2024-07-04 格式:DOCX 页数:11 大小:230.86KB
下载 相关 举报
基于AppInventor的GPS课堂点名应用系统设计与实现.docx_第1页
第1页 / 共11页
基于AppInventor的GPS课堂点名应用系统设计与实现.docx_第2页
第2页 / 共11页
基于AppInventor的GPS课堂点名应用系统设计与实现.docx_第3页
第3页 / 共11页
基于AppInventor的GPS课堂点名应用系统设计与实现.docx_第4页
第4页 / 共11页
基于AppInventor的GPS课堂点名应用系统设计与实现.docx_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、 基于AppInventor的GPS课堂点名应用系统设计与实现 贺甘芹+卢国庆摘 要:为了帮助教师统计学生的出勤情况,节约课堂点名时间,文章运用GPS定位技术,设计并实现了基于App Inventor的GPS课堂点名应用,通过收集教师与学生的位置坐标信息,计算每个学生与教师间的距离,实现了移动端自动化点名。关键词:App Inventor;Android GPS定位技术;课堂点名应用;计算距离:G434 文献标志码:B :1673-8454(2016)08-0087-03随着我国高等教育规模的扩大,在校大学生的整体素质呈现下滑趋势,逃课现象普遍存在,严重影响着高等学府的学习氛围以及学生自身素质

2、与专业水平。课堂点名作为高校课堂教学管理的有效手段,虽然是缓解这一问题的有效途径,但对人数较多的课堂,逐一点名却占据了一部分有效的教学时间。那么,如何实现精准、迅速、同步的课堂点名,成为高校教师面临的棘手问题1。部分学者研究通过短信猫2接收学生短信,或者通过指纹鉴别技术3采集到课学生的指纹等,达到课堂点名的目的,这些课堂点名方式均占据部分教学时间,不是真正意义上的自动化点名。随着信息技术的发展,尤其是GPS定位技术的出现,如果每个学生走进教室之后就将自己的GPS坐标共享给教师,教师就可以轻松确定学生的出勤情况了。基于App Inventor的GPS课堂点名应用,节约了有效的教学时间,减少了对正

3、常教学秩序的干扰,具有很强的实用性。一、相关概念1.App Inventor平台简介App Inventor是一款由谷歌公司开发的可视化的编程工具,用于开发Android平台的移动应用。利用基于Web的图形化用户界面生成器,可以设计应用的用户界面,然后像“玩拼图”一样,将“块语言”拼在一起,来定义应用的行为。App Inventor具有操作简单、开发环境搭建容易、应用开发过程方便、开发周期短等特点4。2.Android GPS定位技术全球定位系统(Global Positioning System)是一个由覆盖全球的24颗卫星组成的卫星系统,该系统可以保证任意时刻、在地球上任意地点都可以同时观

4、测到四颗卫星,以保证卫星可以采集到该观测点的经纬度与高度,实现导航、定位等功能。目前,移动设备都内置了GPS模块,在网络连接建立后,移动设备利用Android GPS定位技术,主要通过GPS模块接收卫星发送的位置信息,同时对定位数据(包括经纬度、时间等)进行解析,最终实现用户手机的导航、定位等相关应用。App Inventor作为基于面向对象的编程平台,提供了定位服务的API,可以获取用户当前的位置信息,实现移动设备的实时定位。二、应用分析传统课堂点名是教师打印出学生名单,按照名单上的信息逐一确认,这种点名方式不仅耗费太多课堂时间,而且无法分辨出是否有人帮忙答到5。随着信息技术不断发展,各类移

5、动设备(智能手机、iPad等)迅速普及,对于在校大学生而言,智能手机已经成了他们时刻随身携带的学习生活必备品,利用智能手机确定学生的出勤情况,比传统点名方式简单有效。基于App Inventor的GPS课堂点名应用是利用手机GPS定位技术,在App Inventor图形化编程环境下设计并实现的系统。因为本应用需要采集教师与学生的位置信息并计算二者间距离,根据距离值判定学生出勤情况,所以本应用需要同时具备学生端和教师端两部分。学生端完成教师与学生之间的距离计算并共享距离信息,教师端完成教师位置信息共享和到勤学生位置信息的获取,通过教师和学生位置距离的计算和比较,实现课堂点名的自动化。三、应用设计

6、与实现基于上述分析,基于App Inventor的GPS课堂点名应用由学生端和教师端两部分构成,以下分别从组件设计和逻辑设计介绍学生端和教师端应用的设计与实现。1.学生端的设计与实现(1)学生端的组件设计App Inventor是一个可视化、可拖拽的在线编程工具,应用所有组件和块结构都是从组件工具栏和“块”所在“抽屉”直接用鼠标拖拽到界面中的。组件设计是应用程序界面的接口,对组件的设计也是对用户界面的设计。应用的组件由可视组件和非可视组件组成:课堂点名应用的可视组件包括一个文本框,用来获取学生的姓名;一个标签,用来显示学生的地理位置和时间信息;三个按钮,分别用来记录学生位置信息、获取教师位置坐

7、标并与学生的位置坐标计算二者间距离、以及共享学生与教师之间的距离信息;一个垂直布局,用来安置可视组件;一个水平布局,用来安置三个按钮。非可视组件包括一个位置传感器,用来获取当前位置信息;一个计时器,用来获取当前时间信息;一个网络微数据库,用来存储教师的位置信息和学生与教师之间的距离信息等。对学生端的组件进行如下设置:文本输入框的提示为“请输入你的名字”;标签的文本为“我的位置”,字号为30;按钮的文本为“定位”、“计算距离”和“共享”,字号为24;垂直布局的水平对齐和垂直对齐为居中,高度和宽度为充满;设置水平布局的水平对齐和垂直对齐为居中,高度为自动,宽度为充满;网络微数据库的服务器地址为ht

8、tp:/tinyW。(2)学生端的逻辑设计在学生端组件设计完成后,需要为每个组件添加相应的行为。首先,显示学生当前的位置。当定位按钮被点击时,首先要用到两个全局变量x1,y1,变量x1表示学生位置坐标的纬度,y1表示学生位置坐标中的经度,将调用位置传感器获取到的当前位置的经纬度分别赋值给x1,y1。一般从位置传感器获取读数时需要几秒钟的时间,但如果GPS卫星信号受到屏蔽或者设备并未开启GPS设置,会一直没有读数。然后调用计时器获取当前时间,并设置日期时间格式为“yyyy/MM/ddnahh:mm:ss”,再获取变量x1,y1的值,将位置信息和时间信息合并文本后显示在标签中。 其次,计算学生与教

9、师之间的距离。地球是一个近乎标准的椭球体,它的赤道半径为6378.140千米,极半径为 6356.755千米,平均半径6371.004千米。假设地球是一个完美的球体,它的半径就是地球的平均半径,记为R。如果以0度经线为基准,那么根据地球表面任意两点的经纬度就可以计算出这两点间的地表距离(这里忽略地球表面地形对计算带来的误差,仅仅是理论上的估算值)。假设两点都在北半球,第一点A的经纬度为(x1,y1),第二点B的经纬度为(x2,y2)。根据三角推导,可以得到计算两点距离d的如下公式:这个公式中,R和d单位是相同的,如果是采用6371.004千米作为半径,那么d就是千米为单位,如果要使用其他单位,

10、比如米,还需要做单位换算1千米=1000米。当计算按钮被点击时,分别调用网络微数据库获取教师位置信息的经度和纬度,根据获取到的数值的标签判断,标签为teacherx就将其数值赋值给变量x2,表示教师的纬度,标签为teachery就将其数值赋值给变量y2,表示教师的经度。根据上述公式计算教师与学生之间的距离,并将距离值加上单位设置为标签文本。在计算距离过程中,除了涉及全局变量x1,y1之外,还需要x2,y2,p,d,A,B这几个局部变量。定义变量x2表示教师位置坐标中的纬度,y2表示教师位置坐标中的经度,变量d表示学生和教师之间的距离值,p、A、B分别是为方便公式计算使用的三个变量,其中p=(取

11、3.1415926),A=(y2-y1)*P,B=(x2-x1)*p。从网络微数据库获取数据与本地数据计算两点间的距离的逻辑设计代码如见图1。最后,共享学生与教师的距离信息。点击共享按钮后,先判断文本输入框内的文本是否为空。如果为空,则在标签文本中提示“请输入你的姓名”,否则调用网络微数据库,以文本输入框内输入的学生姓名为标签,变量d和计时器调用的当前时间的合并文本为存储值保存起来。变量d表示的距离单位为米,当前日期时间格式为“yyyy/MM/dd ahh:mm:ss”。调用网络微数据库保存数值时,保存成功后提示“共享成功”。2.教师端的设计与实现(1)教师端的组件设计教师端包含下列可视化组件

12、:一个标签,用以显示教师的位置信息;三个按钮,分别用来定位教师的坐标、扫描学生的坐标显示在列表中、以及清空列表;一个列表显示框,用以显示每个学生的到课信息;一个水平布局,用来安置三个按钮。非可视组件包括如下:一个位置传感器,用来获取当前位置信息;一个网络微数据库,用来存储教师的位置坐标和学生与教师之间的距离。对教师端组件的属性进行如下设置,screen1的水平对齐为居左,垂直对齐为居上,允许滚动为真;标签的文本为“我的位置”,字号为24;按钮的文本为“定位”、“扫描”和“清空”,字号为18;水平布局的水平对齐和垂直对齐为居中,高度为自动,宽度为充满;最后设置网络微数据库的服务器地址。(2)教师

13、端的逻辑设计教师端组件设计完成后,需为组件添加如下行为:第一,显示教师位置信息。当定位按钮被点击时,调用位置传感器获取当前位置的经纬度,将其分别赋值给变量x2,y2,并以teacherx、teachery为教师的经纬度标签,x2,y2为教师的经纬度存储值保存到网络微数据库,并将变量x2,y2所表示经纬度的合并文本设置为标签文本。在教师端中,也使用网络微数据库,当网络微数据库保存数值成功时,提示“共享成功”;当网络微数据库发生Web服务故障时,提示错误信息。教师端的定位、共享和显示教师位置信息的逻辑设计代码如图2所示。第二,扫描学生与教师之间的距离。当扫描按钮被点击后,以学生姓名为标签,调用网络

14、微数据库获取每个学生与教师之间的距离值,成功获取到距离值后,设全局变量list为空列表,将每个标签和距离值的合并文本添加到列表中第一个列表项的位置,设置列表显示框的元素为变量list,列表显示框的字号为22等。四、问题分析与优化1.应用存在的问题笔者在课堂点名应用测试阶段发现存在如下问题:(1)手机定位提示,影响用户体验当第一次打开应用时,会出现询问“某应用正在尝试通过网络或者卫星对您的手机定位,接受还是拒绝”的消息,点击允许后应用才能调用系统的GPS功能;如果学生点击拒绝,课堂点名应用就不能统计该学生的位置信息。(2)应用程序数据,面临覆盖可能课堂点名应用所用的网络微数据库的服务器是公用的,

15、可能发生应用数据被别的应用数据覆盖的情况。学生端和教师端相关的数据都应该同时存储在本地微数据库中,在应用关闭或卸载之后,数据不会随之丢失。2.应用优化(1)学生端的优化在学生端应用上,为了防止替代他人作弊共享位置信息的行为,应用程序应该只允许学生输入一次姓名。同时,程序还应该将获取到的位置信息存储在本地微数据库中,从本地微数据库将数据共享至网络微数据库,防止学生关闭应用后丢失数据还需要重新获取数据。(2)教师端的优化在教师端应用上,应该将从网络微数据库中获得的学生距离信息存储在列表中,并将列表存储在微数据库中,在应用打开后,直接从微数据库中获得数据,显示在列表显示框中,防止教师关闭应用后丢失数

16、据还需要重新获取数据。在显示学生的位置信息时,应再做一次判断,若某个学生的距离值在某个范围内且时间在当前某时间段范围内,就判断他出勤,否则判断为旷课。教师端应用还需继续完善,例如添加一项将学生的历史数据导出为文件的功能,供教师查阅和统计学生出勤的情况。目前,本应用的开发阶段已经基本完成,正处于应用测试阶段。在测试阶段,我们重点搜集用户的反馈信息并进行调整和完善代码。同时,如何解决用户体验和数据库存储的限制等问题,将是下一阶段的研究重点。参考文献:1杨洪章,高培成,何飞等.基于S3C2410嵌入式“课堂点名系统”的研究与开发J.廊坊师范学院学报(自然科学版),2011,11(3):29-31.2

17、唐明伟,庄玉良,蒋勋等.基于短信猫的课堂自动点名系统J.现代教育技术,2013(10):115-120.3Saraswat C, Kumar A. An Efficient Automatic Attendance System using Fingerprint Verification TechniqueJ. International Journal on Computer Science & Engineering,2010,2(2):264-269.4郭守超,周庆国,邓常梅等.基于App Inventor 的移动学习探究J.现代教育技术,20014(9),121-125.5李颖.基于WPF的课堂教学管理系统研究与设计J.技术在线,2011(24)85-87.(编辑:鲁利瑞) 中国教育信息化基础教育2016年4期中国教育信息化基础教育的其它文章创客教育课程的实践探索基于iPad的高校演播室翻转课堂教学模式探究翻转课堂在网页设计与制作课程中的应用研究高校外语教学信息化问题与对策研究网络实时动态教学模式在互联网金融课程中的应用Moodle平台在计算机实践教学中的应用思考 -全文完-

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服