倪敏杰 平孝军 宋年彬 余 宏
上海对外贸易学院商务信息学院,上海市 201620
基于位置的校园实时个人活动信息共享系统设计
倪敏杰 平孝军 宋年彬 余 宏
上海对外贸易学院商务信息学院,上海市 201620
为了使大学生能够在校园里更方便地以一种全新的方式进行社交活动,本文研究了市场上一些现有的社交软件的不足和存在的问题、大学生这个特殊群体对社交活动的特殊需求,借用安卓平台以及LBS(Location Based Service, LBS)实现了一个实时位置与活动信息共享系统。该系统能够在手机地图上显示好友的实时位置,并能在好友之间分享自己的位置信息和活动信息。这种社交方式将带来更具可视化、立体化、动态化的体验。
LBS;Android;位置信息共享;校园社交
LBS; Android; location information sharing; social communication on campus
国外SNS发展较早,从1997开始,很多网络社区提供各种个人资料的整合和公开链接的好友功能。2004年,Facebook横空出世,开始只是哈佛内部交流用的,随后向其他院校开放,几年以后,全面开放,如今已发展成为全球最大的SNS社交网站,注册用户达6.2亿。
随着国外社交网络的兴起,国内也开始了社交网络。据统计,如今最火爆的人人网截止到2011年3月,激活的用户数量为1.17亿、新浪微博成为目前中国最受欢迎的消费品牌,大受欢迎的苹果iphone只能排名第二。此外,据互联网分析公司comScore发布的最新研究报告称,亚太地区已经成为全球最大的社交网络市场。
然而据我们自己使用社交网络的经历和调查,现在的社交网络内容形式大都相同。无非是提供各种个人资料的整合和公开链接的好友功能、好友列表、来访列表、日记页面与第三方应用等等。
所以本文的目的就是开发出一种新型的基于GPS实时位置分享的社交方式。首先在松江大学城供学生使用和测试,然后再扩展到上海的高校和更多的用户群。
1.1 LBS的概念
LBS(Location Based Service)[1]即基于位置的服务,是通过电信移动运营商的无线电通讯网络(如GSM、CDMA)或其他外部定位方式(如GPS)[2]获取移动终端用户的地理坐标位置信息(经纬度坐标),在GIS(Geographic Information System,地理信息系统)平台或电子地图平台的支持下,通过移动网络和移动终端的配合,为用户提供相应信息服务的一种增值业务。
它包括两层含义:首先是确定移动设备或用户所在的地理位置,即设备是移动中的,且可以通过某种定位方式对齐定位;其次是提供与位置相关的各类信息服务,如周边生活服务的搜索,移动社交等。所以说LBS就是要借助互联网或无线网络,在固定用户或移动用户之间,完成定位和服务两大功能。
1.2 LBS的应用
国外以foursquare为代表、国内以街旁网为代表的普通LBS类应用,其用户定位广泛,属于签到类(check-in)LBS应用,没有进一步挖掘位置分享的价值所在,而是将重点放在了商铺打折优惠等广告类功能的方向上发展。这一类LBS应用的共同特点是提供基于地理位置的社会化网络服务,鼓励用户走出去,到各种不同的地点签到分享位置以获得积分、勋章以及领主等荣誉。但是对于常年在校园中学习生活的学生和教师而言,外出的机会有限,很难体会到其中的吸引力。
微博、人人等普通社交应用所附带的LBS功能,侧重点在于作为主体的社交功能,譬如状态发布、照片上传、日志撰写、等功能,虽也带有基于GPS的地理位置分享功能,但是功能较为单一,只能简单的签到或者为状态与照片提供地理位置,更偏重于为用户自己留下地理标签;提供的地理位置分享较为模糊,受众只能作为一名信息接受者而不能成为一名信息处理者作出相应而准确的反应进而与发布者进行良好的互动。
市场上现有的手机地图类应用主要有Google地图、百度地图、SOSO地图等,基本上都集成了实时位置信息共享功能。例如Google地图中集成的谷歌纵横功能,但是并没有得到重视和充分利用。原因在于:手机地图类应用除了位置信息共享功能外,还有诸如定位导航、路线规划、搜索附近生活热点(如银行、餐厅、公交站等),所以功能单一的实时位置分享易受用户忽视;一般用户对实时位置分享的兴趣不大,同时也对隐私问题持保留态度,而该类应用没有意识到大学生这个具有巨大潜力的社交用户群,并做进一步推广。
1.3 创新功能
目标用户明确。本系统的目标用户为在校大学生——当前社交网络的生力军。根据中国统计年鉴2011,截止到2010年底,我国普通高校在校学生数为2231.7929万人,这相当于很多中小国家的全国人口,所以这是一个很大的、潜在的用户群体。在校大学生由于其社会身份的特殊性,一直是是社交网络的活跃用户集中群体,符合本应用移动社交的目标定位。大学生对于新事物的接受能力比较强,有利于本系统的推广和发展。
功能重点突出。本系统摒弃了普通社交类应用以及手机地图中的其他功能,仅保留:基于GPS的实时位置分享(我在哪里)、实时状态分享(我在干吗)、实时聊天功能三大模块,使用户能将注意力集中在本应用的主要功能即朋友之间可以直观地、立体地分享自己当前位置信息和活动内容,然后快速地融入自己的朋友圈。
位置信息精度高。相对于其他系统地理位置的分享信息的模糊性、空间上的距离性,结合定位于大学校园用户的特殊性,本系统将大大提高地理位置信息的精确度,譬如精确到图书馆、体育馆、教学楼等等,通过试验发现,在GPS信号良好的情况下,误差可以控制在10米以内。而这种精确性也将服务于本应用的社交功能更好的实现。
保证隐私安全。由于一个人的所在地理位置属于个人隐私,特别是在保证精确性的前提下,这种隐私的保护就显得尤其重要。所以本应用可以提供给用户选择:是否分享当前位置信息;向哪些人分享当前位置信息,公开、好友或者个别好友;何时分享当前位置信息,随时、日间或者节假日等等。通过以上三个选择,很好地保证了用户的个人隐私安全。
2.1 手机平台的选择
如今智能手机的主流平台有Android,iOS,Windows Phone等。各种平台的特征对比如下:
1)Android:编程语言:Java;提供系统API调用;应用商店为GooglePlay与各类第三方商店;市场占有率:60%。
2)iOS:编程语言:Object-C;不提供系统级API;商店为APPStore,市场占有率:23%。
3)WindowsPhone:编程语言:Silverlight,API封闭,应用商店:Windows Phone Store;市场占有率:0.54%。
根据上述信息可知,相比iOS和WP来说,Android平台支持跨平台的Java语言,并且其API开放程序较高,整个生态环境较为开放,用户数量巨大,更加利于我们对软件功能的测试与调研。
Android系统架构主要由应用程序(Application)、应用程序架构(Application Framework)、库(Libraries)、Android的运行(Android Runtime)、Linux内核(LinuxKernel)构成[3]。如图1所示:
其中应用程序包括一些核心的程序。应用程序框架使开发者能够拥有和核心应用一样的权限来使用Android提供的APIs库和Android的运行则包括了一系列的C/C++类库和一些核心类库、Linux内核提供了一些Android的系统服务,如:内存管理、进程管理、网络等。
从Android基本的架构我们可以看到,Android系统是基于Linux内核编写的,底层的代码都是由C/C++编写。
2.2 系统架构
由于客户端是Android终端,为了能方便用户的使用,系统架构采用C/S架构。而我们针对的是大学生们,所以用户群不是很大,进而在服务器和数据库方面选择采用简单、开源的Apache Tomcat5.5和MySQL5。数据交换格式则用JSON[4]轻量级数据交互格式包装,其中数据包括定位位置的经度、纬度、用户自定义状态等。具体架构如图2所示。客户端向服务器发送请求后,服务器连接数据库查询相关信息,再发回给客户端。
图2 系统架构
2.3 客户端设计
本系统是社交型的系统,所以应该提供一些社交的基础功能,然后再针对大学生这一群体设计一些新型的功能。主要系统如下:
(1)注册、登录系统
通过手机号码、邮箱注册账号、登陆;通过邮箱找回密码;修改密码;设置个人资料(姓名、头像、学校、院系、年级等),用户可以上传手机内的照片或者调用摄像头功能拍摄头像。
(2)好友管理系统
根据手机号码添加好友、删除好友;按学校、院系、年级等条件查找好友;根据定位的信息查找附近的用户、自动推荐相关好友(如附近的好友、同校、同专业以及好友的共同好友);向好友发送消息。
(3)定位系统
实时更新好友当前位置;根据用户当前的位置,推荐用户周边的商家(如饭店、各类商家等);用户选择周边存在的地点标签来签到(图书馆、教学楼、食堂等);用户自定义个性化地点标签签到,并存入用户数据库中。
(4)设置管理系统
用户动态地选择更新地图的时间即好友位置变化的时间间隔;更改个人资料;选择是否后台进行开启。
2.4 定位核心功能设计
好友定位系统是本项目中的核心系统,要能直观地看到好友当前的位置所在,好友必须以某种方式显示在地图上并且能自定义我们所需要的信息,比如要看到好友的头像,好友在哪里正在做些什么,为了能更好地交互,在地图上还需提供一些按钮,能够更方便地操作,提高交互性。
图3 查看好友位置信息
图4 分享位置信息
Google提供了OverlayItem以及ItemizedOverlay类,方便用户在地图上显示自己所需的图片及文字标识,其中ItemizedOverlay为OverlayItem的容器。在本项目中,在地图上需要显示好友的头像、状态、位置,所以我们可以新建一个类继承于OverlayItem,加入头像、状态、位置等字段。由于一个OverlayItem的实例代表一个好友,而往往一个用户的好友不止一个,所以要用ItemizedOverlay来装入多个OverlayItem。在ItemizedOverlay中,先要用for循环遍历给定索引的item,然后把经度变换到相对于MapView左上角屏幕像素坐标,最后绘制需要显示的文本。
这样就能根据从服务器接收过来的好友信息来显示在我们手机屏幕的地图上了。图3为用户在地图看到好友的位置信息。图4则为分享位置信息功能。
2.5 服务端设计
编写服务端的环境为MyEclipse8.5。服务端采用了Apache的轻量级服务器Tomcat5.5,数据库使用了开源的MySQL5。Tomcat免费,配置较简单,对于中小型项目,在客户端较少的情况下性能较好。MySQL是目前流行的开源数据库,与java能简单地进行交互。
服务端要对客户端发出的请求进行回应。采用JSON进行数据交换。服务端提供的功能有:1)用户注册时向客户端发回注册是否成功的信息,并在数据库中新增一条帐号,修改相关字段。2)判断用户是否登录成功。3)返回地理信息给客户端。4)根据客户端的消息修改数据库中的信息(如修改自己资料、删除好友、增加好友)。
图5 C/S架构
2.6 数据库设计
1)用户信息数据库:主要字段有:用户注册的手机号、绑定邮箱、密码、姓名、用户昵称、性别、头像、学校、院系、年级、专业。
2)地理位置数据库:主要字段有:各个学校的教学楼、食堂、体育场、图书馆、学校商家信息。
图6 数据库关系图表格
本系统以Android平台为载体,将已被广泛应用的LBS服务与一些SNS应用的基本功能相结合,针对大学生这个特殊群体对社交活动的特殊需求提供了一种全新的校园社交方式。该系统目标人群特定,有针对性地解决了校园这个有限空间范围内如何快速、灵活、直接地进行社交活动的问题。本系统服务器与数据库借用开源的软件,具有成本低、易推广、稳定性强的优点,可以快速地在高校中得到推广。由于其开源性,方便更多的人参与到系统后期的开发与维护中来,较容易移植到其他如iOS、Windows Phone等其他移动平台中。
[1]郭盈,一种3G网络下的LBS架构研究及实现[J].信息安全与技术,2011(05): 39-43.
[2]邬群勇,张爱国,许其凤等,GPS移动定位与移动网络定位精度的分析[J].全球定位系,2010(5): 33-37.
[3]Android Developer. https://developer.android.com/ index.html
[4]JSON. http://www.json.org/
Design of Real-Time Individual Activity Information Sharing System on Campus Based on Location
Ni Minjie, Ping Xiaojun, Song Nianbing, Yu Hong
Business Information Management School, Shanghai Institute of Foreign Trade, Shanghai 201620,China
In order to make it convenient for college students to communicate via a new social style, This paper proposes a real-time individual location and activity information sharing system based on Android platform and LBS (Location Based Service, LBS) after analyzing the drawbacks of existing social software and special requirements of college students. The system can display real-time positions of friends on the map in the smart phone. And users can share their geographic information and activity contents among friends. This socializing way provides more visual, stereoscopic and dynamic experience.
TP311.1
A
10.3969/j.issn.1001-8972.2012.21.037
上海市教委“2011年度上海大学生创新活动计划项目”
倪敏杰,(1990-),男,本科,信息管理与信息系统。