APP下载

基于android的3D校园通系统设计与实现

2017-04-27朱婉婷李俊吴彤高星张粤

电脑知识与技术 2016年29期
关键词:GPS定位移动终端

朱婉婷 李俊 吴彤 高星 张粤

摘要:每个高校都会有大大小小的活动,而活动的宣传一直仅仅局限于发传单、设点、宣传板等方式,而随着网络的飞速发展,将宣传放置于网络之上已经成为一种趋势,然而中国大部分高校的宣传方式并不集中,分布不均匀。研究一种便利、实时的活动宣传系统很有必要,该系统提出一种包含Android移动客户端、Web服务端混合而成的学生实时活动信息查看系统。使用基于Android平台的移动设备实现发布活动信息、通过地图查看周边活动功能,通过3G网络将用户端发布的活动数据实时上传至服务器。通过实际应用表明,系统部署后確能实时、便捷地掌握周边活动信息,甚至是店铺优惠,为高校学生高效活动宣传,丰富课余生活提供了有力的支持。

关键词:学生活动宣传;GPS定位;移动终端

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2016)29-0122-04

据调查,目前我国的大多数高校,有各种活动,但是宣传的方式也较为单调,有发传单,画宣传板,或者班级进行直接宣传,但是这样覆盖面不够广泛,很多同学都不能够及时深入清楚地了解活动,可能更多的是口口相传,现如今网络宣传已经成为一种趋势,但是宣传的方式可能更多的是通过朋友圈等等一些社交软件,并没有专门的一个软件对各种活动进行一个全面的宣传。此项目方便了主办方增加了宣传的广度,同时也方便了用户可以及时地了解活动的具体信息并参与。当然此项目也不仅仅只局限于校园的应用,可以增加其功能,如果效果好,可以推广到各个商家以及各种旅游景点等等,运用GPS进行即时定位,显示活动的具体信息,是一款实用性很强的软件。

本系统在技术方面结合了GPS定位技术和3D效果展示等多种方式,在对GPS功能的使用中,增添了一项新的功能,可以将想要找到的地点的具体的周边环境通过3D效果进行展示,通过本系统,学生们可以及时地通过校园地图确定活动的具体位置,并且可以了解到活动的具体信息,通过3D效果展示可以更加及时准确的找到活动的具体位置。到现在为止基于An-droid平台的定位研究和应用处于不断增长的阶段,国内相关领域的研究论文已经层出不穷。而基于Android平台的校园位置服务以及活动信息的即时更新服务却不常见。现有的定位技术主要有PPD定位技术、GPS卫星定位、蓝牙定位、WIFI网络定位、GPRS/CDMA移动通讯技术定位等。但是这些也只是单纯的进行了定位,并没有实现3D效果的展示,也没有将活动与地图进行有机的结合,本系统,可以让用户快捷地了解到活动的信息,并且进展的状况,对于很多不是对活动不了解,而且方向感较差的同学提供了方便。可以快速准确地找到活动位置。

1系统设计相关技术

1.1Android平台技术

1.1.1Android平台简介

Android是一种基于Linux内核的软件平台和操作系统,一般统称为“安卓”或“安致”,尚且没有统一的中文名称,采用软件堆栈的架构,其开发者是Andy Rubin,由Google公司收购注资组建手机开发者改良并在2007年11月5日发布,该平台主要由操作系统、用户界面、中间件和应用软件等四部分组成,主要用于便携设备如手机,而后逐渐扩展到平板以及其他领域上。随着4G智能手机时代的到来,以及Android平台的快速发展,人们对Android应用开发的需求日趋增多,而作为一款开放式的操作系统,如今android平台已允许开发者使用多不同的编程语言来开发Android应用,不再是只能用Java语言开发,受到了许多开发者的欢迎。

1.1.2Android定位技术-GPS定位和Wifi定位

GPS(Global Positioning System)称作全球定位系统,是20世纪70年代由美国卫星局研制的新一代空间卫星导航系统,通过该系统,用户不仅可以在全球范围内实现随时随地连续的二维及三维导航定位和测速,而且能够进行高精度的准确定位和时间传递。只要智能设备支持GPS模块功能便可支持直接和卫星连接来获取当前经纬度从而将自己的位置信号发送到定位后台实现手机定位。Wifi定位是wireless fiddity的英文缩写,表示无线相容认证。Android Wifi定位是根据一个独一无二的WifiMAC地址即手机Wifi网卡的mac地址,搜索并且收集到的该Wifi热点的位置信息并且上传到一个用于存储位置信息的数据库中,然后访问网络上的定位服务以获得经纬度坐标,因为Wifi定位和基站定位都需要使用网络所以在Android平台中也统称为Network方式。

1.2Web服务器技术

Apache HTTP Server简称Apache,源于“a patchy server"的读音,意为充满补丁的服务器。Apache是软件基金会开发并发布的一个开放源码的网页服务器,能够运行于大部分的计算机操作系统,因为它是自由软件并且可以广泛运行在几乎所有的计算机平台上,同时具有极高的安全性,所以不断有大批的开发者来为它开发新的功能和特性以及修改原来的缺陷,经过多次修改,使其成为目前最流行的Web服务器端软件之一和世界使用排名第一的Web服务器软件。Apache有简单、速度快、性能稳定的特点,可通过简单的API扩展,将Perl/Python等解释器编译到服务器中,并具备代理服务器的功能。

2系统设计

2.1设计思路

本系统将用户分为学生用户和活动发布者用户,通过选择不同的身份进行注册,进人系统后台将会验证是哪种类型的用户,如果是活动发布者用户,则会提供发布活动的功能,但以学生身份注册登陆将不拥有此功能。活动发布者通过在移动端发布活动时间地点信息,后台人员经过认证将活动信息上传到服务器端存储,并在地图模块自动定位地点添加活动并注明活动名称,时间,地点,描述等信息。

2.2系统总体设计

本系统以web服务器为数据中转站,实现了特定用户发布,学生定位的实时活动信息查看系统。其中用户可以分为两类,即学生,发布者,不同类的用户可以使用的功能不同,学生可以查看校园通知和活动,发布者可以发布校园活动,周边优惠等。其总体系统架构如图1所示

2.3系统结构

基于Android的学生实时活动信息查看系统主要由An-droid客户端、服务器端以及后台管理员3部分组成。Android客户端负责发布活动信息,根据发布活动的地点添加位置和相关信息到地图中,同时还具备查看校园内的消息通知类似于校园新闻以及失物招领,认识校友等校园服务。活动发布者将活动或者优惠等信息发送到服务器,并存储在数据库中,后台管理员通过实际验证将数据同步到地图当中。服务端保存了數据库的大量数据,可以响应来自客户端的数据请求,返回相应数据给客户端。本系统的基本架构如图2所示。

2.4数据库设计

本系统使用的是android应用中自带的SQLite文件型数据库,根据系统需求,其中包含用户注册表、用户信息表、活动信息表、评论信息表、发布活动表、地图信息表、位置信息表、好友信息表以及通讯录表等数据表。通过这些数据库表可以明确用户、地图和活动之间的关系,每个用户通过定位都会获取到相对应的地图信息表,而每张地图又包含多个活动信息,如图3数据库ER图所示。

3系统主要模块和功能设计

基于android的学生实时活动信息查看系统主要包括5大功能模块:用户注册与登录模块、地图切换模块、查看地标信息模块、活动发布模块和3D定位模块。

用户注册与登录模块主要负责用户身份录入和验证,通过用户注册选择身份录入数据库,在登陆模块输入用户名和密码来验证是否匹配,数据库内无记录则表示用户没有注册或者注册失败。

地图切换模块和查看地标信息模块是本系统的核心模块,地图切换模块主要是进行2D和3D地图之间的切换以及检测GPS定位是否开启,而查看地标信息模块则是可根据地图上特定的位置信息来查看该位置过去举办过什么活动,现在正在进行什么活动和未来会有什么活动在该地点发生举办,使用户快速了解周边信息。

活动发布模块根据用户登录时的身份来选择是否需要隐藏活动按钮,学生身份登陆点击发布按钮只能发布与学生信息相关的,如失物招领。而活动发布者身份则不仅可发布特定位置的相关活动信息并且将会被同步到地图当中也可以发布一些校园通知等等。

3D定位模块让地图中建筑物等,以一种3D的效果呈现,给人一种虚拟现实的感觉,可以通过直观的地理实景模拟表现方式,为用户提供地图查询。

3.1查看地标信息模块

通过申请百度地图的基础地图MapView和全景地图Pan-oramaView的密钥和API并下载相应的SDK开发包,在此基础上开发借助远程控制的定位指令,通过GPS、网络基站和网络定位对用户进行定位,从而显示学生的当前位置信息,查看学生位置信息的历史记录可查看在某个时刻经过某个地方,并将学生的位置记录保存到移动终端的数据库,并在用户浏览完退出该模块时启动线程完成将本地SQLite中存储位置信息,通过json传入服务器,便于需要数据时导出使用,或者进行更进一步系统设计时作为数据源。再根据用户所在位置信息从数据库中更新用户周围的地点事件。

3.2地图切换模块

在地图导航实现中,本系统考虑到不同维度的功能便捷性,将该模块分为二维地图和三维地图两个部分,同时提供两种维度的切换,三维效果的实现为了让地图中建筑物等,以一种3D仿真的效果呈现,给人一种虚拟现实的感觉,可以通过直观的地理实景模拟表现方式,为用户提供地图查询。

1)二维地图,平面效果没有建筑层次感,使用Map View显示基础地图,并将所有地点和位置的建筑物或实物用轮廓图显示出来,同时还引入地点图标来标记位置,从SQLite数据库中获取该用户和其他用户的位置信息,将这些位置信息进行加权排序,每个地点都有权值记录,权值哒并且多用户去的地点排列会靠前,从而获取到排列前十的地点进行PopView显示,即相应位置会显示红色的地标图标,点击该图标,上方会显示详细的活动信息,通过获取从数据库中保存的位置信息来匹配显示用户发布活动时填写的活动地点、时间、内容等信息。而详细信息的显示是通过调用百度地图的接口来对获取到的数据进行自定义显示和使用。

2)三维地图,使用Panorama View显示街景地图,最仿真的还原现实的建筑与街道,通过调用百度全景图接口,根据经纬度获取当前位置的全景图,通过设置俯仰角、偏航角和缩放级别显示邻接箭头和全景图。通过图片覆盖物和文字覆盖物以悬浮文字的方式添加活动的地点图片和介绍,使用iSOB传输到服务器,服务器解析json并存储到数据库。点击前后左右即可到达想要去的地点,同时可以发布现场照片同步到数据库中,增强应用的互动性。

4系统实现

4.1Android用户端实现

4.1.1用户端界面实现

用户端包含5个主要界面,分别是首页界面,地图界面,发布界面,消息界面和个人界面。其中首页界面用于显示校园活动,通知信息;地图界面用于2D和3D地图切换以及实时定位;发布界面用户发布活动、优惠等信息;消息界面用于和同学以及校友互动社交;个人界面则用于编辑和查看个人信息等。

首页界面是应用的主界面,会即时更新一些校园最新通知、活动和公告等,页面运用ViewPager控件实现最上端的局部图片滑动指引效果和运用Listview控件实现校园新闻列表效果,校园首页界面及校园通知详情页如图4所示

地图界面可选择进入全景街景模式即三维地图或者平面地图模式如图5左所示,点击wust全景即可获取到当前用户所在位置的全景图,根据箭头的指示或者手动滑动来调整移动方向,如图5中所示,点击2D地图加载平面地图,红色带字母图标即是当天有活动的位置,选中某个地标,将会显示活动细节。

4.1.2用户端功能实现用户端功能包含学生注册,身份认证,地图获取和定位等功能,当用户首次注册时,会进行身份选择与验证,可选择学生和活动发布者身份,然后进入登录界面,将用户名和密码与数据库比对来判断是否注册过,若已经注册则根据注册时选择的身份进行功能划分进人首页界面,否则将进人注册界面,待用户注册后再登录进入首页,然后打开GPS设置实时定位,后台将会将用户所在位置的周边信息获取,用户点击地点图标即可动态查看活动信息,其程序流程图如图6所示

4.2 web服务器实现

本系统服务器是通过LAMP组合来搭建的web服务器,Computer Knowledge and TechnoIogy电脑知识与技术LAMP组合分别表示linux操作系统,apache web服务器,Mysql数据库以及PHP脚本程序。该服务器不需要编写基于网页的界面,而是通过采用HTTP请求、响应进行交互直接为Android客户端提供数据访问接口。访问过程为用户在Android客户端发送标准的HTTP请求给服务器,当APACHE服务器收到请求后,将请求消息再交由PHP脚本程序进行处理,PHP脚本程序根据收到不同的动作来触发不同的程序,最终将数据交由APACHE返回给Android客户端。

5结束语

在移动终端普及度相当高和移动技术开发火热的今天,本系统用到了多种不同的编程技术,已完成基本的学生实时活动信息查看功能,学生和校园团体组织可以通过此平台快速获取信息,具有很强的实用性和扩展性。由于此项目实际应用程度高,并且基础设施费用较低廉,使得本系统具有很好的扩展性,此系统将不会仅局限于高校活动的宣传,还可为学生提供,如校园内每个地点的实时活动定位查询、校园内及周边商铺和超市的优惠信息定位查询、课表查询、校园周边导航、节假日通知,校园通知等等便捷的校园服务,为同学们提供快速、便捷的消息查看,节约时间,实时播报。稍加以改装便可应用于景点,热门商圈等。

猜你喜欢

GPS定位移动终端
移动轨迹挖掘算法设计与系统实现
手机APP在学生信息化管理中的应用探索