移动终端校园踪迹分析系统研究
2015-07-02孙耀杰李荣妹张维文
孙耀杰,李荣妹,张维文
(河北工业大学 信息工程学院,天津 300401)
移动终端校园踪迹分析系统研究
孙耀杰,李荣妹,张维文
(河北工业大学 信息工程学院,天津 300401)
随着智能手机的普及,以及校园地理信息的庞大,实现手机与校园信息的对接,为学生提供一些实用的服务具有重要意义。针对这一需求,利用Android的智能终端、百度地图开发和校园地理信息,基于网络实现了一种个性化校园服务系统。客户端实现了定位设置、个性化校园设置、校园踪迹记录、系统踪迹分析等功能,服务器端采用MVC模式实现智能查询功能。通过测试该系统具有操作简单、实用性强、功能完善等优点,此外该系统还可以应用到其他校园,具有可扩展性。
Android智能终端;踪迹记录;百度定位;踪迹分析;智能查询
随着移动互联网的发展,手机的传输速度越来越快,其所具备的功能也越来越多元化。Android作为一个以Linux为基础的开放源码平台,具有较好的开放性,拥有广阔的硬件平台和大量的用户群体。Android平台提供了丰富的开发环境,包括设备模拟器、调试工具、内存及性能分析图表和Eclipse集成开发环境插件,源源不断地吸引着开发者。随着校园信息的不断增加,实现手机与校园信息的对接,为学生提供一些实用的应用和服务信息,将给校园生活带来很大的便利。
从目前情况来看,国内众多高校都推出了相应的校园位置服务等移动应用,但是和外国高校相比,存在起点晚、普及率低、功能不完备、缺乏协作等问题。例如,哈佛大学、麻省理工学院等外国高校在2010年就相继推出了官方移动应用,而国内高校则在随后的2011、2012年才开始陆续发布校园移动的应用[1]。
本文所述系统利用百度地图进行二次开发,实现目标定位。通过友好的用户界面,使用户实时了解自己所在位置,对一天的行踪轨迹进行追踪和记录,同时系统针对个人的生活轨迹给予相应的评价。从而使学生更好地了解自己的生活与学习节奏,对学生产生自我监督、自我激励的效果,符合当代大学生的需求。
1 系统实现方案设计
1.1 系统实现方案
本系统是在Google Android平台2.2版本环境下,使用Eclipse进行开发的[2]。
针对绝大部分学生使用安卓智能手机的现状,同时校园无线网络也得到广泛的普及。因此,针对校园这一特定的环境做出系统开发。充分利用网络,从位置服务器中得到关于目标和位置的数据信息,并根据位置信息得到分析的数据源。系统框架如图1所示。
图1 系统框架图
1.2 系统设计
该系统的客户端利用百度地图进行二次开发,实现目标定位。通过友好的用户界面,使用户实时了解自己所在的位置,对一天的行踪轨迹进行追踪和记录,同时系统针对个人的生活轨迹给予相应的评价。服务器端接收客户端发来的评价分析结果,可以在界面中查询并显示。系统结构如图2所示。
图2 软件结构图
具体说明如下:
1)新建路径。当用户第一次使用软件时,首先会出现未创建路径和软件使用说明,这时需要用户创建自己的路径信息。此处成功地运用了类似于日记的功能,以方便用户的记忆及后来的查询。新建路径完成后会以ListView的形式显示新建的信息及时间[3],点击即可进入百度地图展示的界面。
2)百度地图展示与定位。在本设计中使用百度地图进行展示[4],与其他地图相比,百度地图提供了更加简洁的界面,符合大多数中国人的习惯。其次具有很快的更新速度,能够为用户提供最新的地图信息。此软件需要实时地进行路径跟踪,它的离线地图功能为软件的设计提供了更好的可能,大大节省了流量。进入地图定位界面,能够快速地定位到用户所在的位置。百度地图Android定位SDK是利用设备当前的GPS信息(GPS定位)、基站信息(基站定位)和WiFi信息(WiFi定位)完成定位的[5]。同时利用Android的Service组件把定位的信息实时上传到SQLite数据库[6],以方便从数据库中提取位置信息进行系统评价。
3)轨迹记录。当用户在地图展示界面选择轨迹选单时,则进入轨迹记录界面,后台自动从SQLite数据库中调取定位信息,以点的方式每5 ms定位一次画一个点,当经过一段时间由点排成路径,即为用户的轨迹路径图。同时用户可以清除轨迹,轨迹的清除是从SQLite数据库中清除的,当清除后则无法再调出以前的数据。否则会一直存在数据库中。
4)系统评价。用户首先把定位的信息归一化,划分为学习、休息、娱乐、其他四大部分交给系统后台,系统根据一定的算法给出系统评价、系统得分,同时软件也为用户提供了自我评价的平台。
5)设置。用户可根据需要进行离线地图的下载和查看[7],并且可以设置百度地图GPS的更新频率以及地图的缩放等级,满足不同用户的不同需求。
2 系统实现
2.1 客户端实现
2.1.1 百度地图展示定位
要想在百度地图上进行二次开发必须先申请移动端的密钥[3],并在AndroidManifest.xm l中添加网络和手机存储卡(访问离线地图)的权限设置。同时要在工程的libs文件夹下放入baidumapapi_Vx_x_x.jar、locSDK_3.1.jar。并对.jar文件进行如下操作:点击鼠标右键,选择Build Path->Add to Build Path选项。
2.1.2 百度地图定位功能
为了使定位更加准确细化,设置了自定义图层Itemize⁃dOverlay,用户可以把感兴趣的点绘制在地图上,并且支持动态更新Item位置、图标。
在定位之前选取学校的中心位置为中心点,定位之后则以定位点为中心点,当用手点击中心位置时会显示位置的具体信息。定位的一般流程(伪代码):
初始化LocationClicent对象;
在onCreate()中实例化定位服务,并注册定位监听接口register⁃LocationListener;
设置定位方式LocationClientOption;
发出定位请求requestLocation();
在监听函数onReceiveLocation(BDLocation location)方法中获取定位结果;
把定位结果放在位置图层显示以及放在SQLite数据库中存储。
2.1.3 轨迹记录图层展示
利用graphicsOverlay几何绘制图层在其上面画点[4]。首先要在Geometry中构建点的样式,例如点的颜色大小等,同时要在LocateDbAdapter中遍历所有的位置信息,把位置信息以设置的点的形式添加到图层中,显示用户的位置信息。
2.1.4 系统评价
用户把定位信息进行归一划分,主要有学习、休息、娱乐、其他四大类。首先从Locats数据库中获得位置信息,通过记录目标者一天的行踪轨迹,按百分制进行划分,再根据划分的算法,利用achartengier库进行饼图分析,同时系统还可以根据饼图信息进行系统的评价。在系统评价界面又可以给出系统评价、系统得分。同时又增加了自我评价的功能,可以为自己的情况打分,以星星的数量为参考,使界面更加生动有趣[8]。
系统得分评价算法如下:
1)设置因素集U={学习,休息,娱乐,其他},已知时间T={t1,t2,t3,t4},规定系统的权重系数为
2)分别求出各因素在所有时间中占的百分比为
3)分别求出各因素的均方差
同时系统给出相应的评价,评价标准:如果σi超过了wi的25%,即此因素所占用的时间不合理,反之占用的时间为合理。
4)分别求出各因素的得分
5)最后求得总分
该算法比较客观地反映了学生的具体情况。
2.2 服务器端设计
服务器端采用MVC+DAO的设计模式进行开发[9],使用开源的数据库Mysql,并配置Tomcat服务器[10]。
2.2.1 系统开发模式介绍
在服务器端要得到学生的具体情况,必须获得客户端的系统分析数据。为了更好地管理和维护,采用MVC+ DAO模式的开发结构,Servlet接受客户端的请求,根据请求调用相应的JavaBean,将显示结果交给JSP完成。模式架构见图3。
图3 MVC模式图
2.2.2 智能查询功能介绍
在查询结果界面显示了当前用户可进行的操作,用户可以选择查询的对象,即全部或其中的任意一项,也可以删除某组数据。查询的结果以表格的形式显示,同时采用了分页技术,既给查看带来了方便,又节省了数据库资源。
3 实验与结果分析
该系统以Android的智能终端作为客户端,以PC机为服务器端,在校园这一环境得到的测试结果。
当用户新建路径轨迹后,会显示用户的位置信息,经过一段时间后,若用户进行路径查询则显示出这一时间段的轨迹图,如图4所示,进入系统评价界面,显示结果如图5~7所示,包含了系统评价、系统得分和自我评价3部分。客户端与服务器端通过HTTP协议实现通信,在服务器端显示查询结果,如图8所示。
通过测试结果表明,该系统基本实现了智能终端的校园踪迹查询与分析,并且可以在Android2.2及以上的版本上稳定运行。该软件操作简单,界面优化,切实给各大高校的学生带来了很大的帮助。
图4 我的轨迹(截图)
图5 系统评价(截图)
图6 系统评得分(截图)
图7 自我评价(截图)
图8 服务器端数据查询界面(截图)
4 结束语
移动终端的校园踪迹分析系统利用百度地图进行二次开发,再结合本校的环境特点实现了构建个性化校园的服务系统。本系统能够很好地记录学生的生活轨迹,切实地为学生服务,成为学生的好助手。同时此系统具有很好的扩展性和移植性,可方便地应用于其他高校。
[1]杨鹏.基于Android的校园位置服务系统研究与实现[D].大连:大连理工大学,2013.
[2] 姚尚朗,靳岩.Android开发入门与实战体验[M].2版.北京:人民邮电出版社,2013.
[3] 郭宏志.Android应用开发详解[M].北京:电子工业出版社,2010.
[4] 百度.百度LBS开放平台[EB/OL].[2014-06-08].http://developer.baidu.com/map/geosdk.htm.
[5] 李佐彬.Android开发入门与实战体验[M].北京:机械工业出版社,2011.
[6] 熊文阔.基于Android平台手机图形编辑软件的设计与实现[D].北京:北京邮电大学,2011.
[7]王彦超.基于Android的校园地图服务设计[D].大连:大连理工大学,2011.
[8] 吴善财.Android开发完全实战宝典[M].北京:机械工业出版社,2012.
[9] 李兴华,王月青.Java Web开发实战经典[M].北京:清华大学出版社,2010.
[10] 张昆.Java Web开发技术详解[M].北京:化学工业出版社,2010.
责任编辑:许 盈
Campus Trace Analysis System Based on M obile Term inal
SUN Yaojie,LI Rongmei,ZHANG Weiwen
(School of Information Engineering,Hebei University of Technology,Tianjin 300401,China)
A new software system is achieved for the popularity of smart mobile phone and the large information of campus geographic.The aim of this system is to achieve the docking of mobile phones and campus information and provide useful services for students.The personalized campus service system is presented with the Android intelligent terminals,Baidu map development,and campus geographic information services based on network for meeting the requirement.Many functions such as positioning set,personalized campus setting,campus trace records,and trace analysis are realized by the client.Intelligent query functions are achieved by the server-side with the MVC model too.The advantages including simple in operation,practicability and perfect function are demonstrated through the test.In addition,the system also can be applied to other campus with expansibility.
Android intelligent terminals;trace records;baidu location;trace analysis;intelligent query
TP311.1
A
10.16280/j.videoe.2015.02.005
2014-07-11
【本文献信息】孙耀杰,李荣妹,张维文.移动终端校园踪迹分析系统研究[J].电视技术,2015,39(2).