《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > LBS移动社交资源共享平台的设计与实现
LBS移动社交资源共享平台的设计与实现
来源:电子技术应用2013年第9期
陈月峰1,李炳泉1,彭凌西2,谢冬青2,钟秀玉3
1. 广东海洋大学 信息学院,广东 湛江 524088; 2. 广州大学 计算机科学与教育软件学院,广东 广州 510006; 3. 广东嘉应学院 计算机学院, 广东 梅州514015
摘要: 结合移动互联网、社交网络和电子商务,构建了基于位置的服务(LBS)移动社交资源共享(SMSRL)平台,并对主要功能模块设计进行了详细的描述,探讨了实现该平台的关键技术。SMSRL平台的系统设计合理,便于在不同平台间移植和升级,适合商业化。
中图分类号: TP311.5
文献标识码: A
文章编号: 0258-7998(2013)09-0139-03
Design and implement of the platform of sharing mobile sociality resource based on LBS
Chen Yuefeng1, Li Bingquan1, Peng Lingxi2, Xie Dongqing2, Zhong Xiuyu3
1. Information School, Guangdong Ocean University, Zhanjiang 524088, China; 2. Department of Computer and Education Software, Guangzhou University, Guangzhou 510006, China; 3. School of Computer Science, Jiaying University, Meizhou 514015, China
Abstract: Built platform of sharing mobile sociality resource based on LBS(SMSRL), combining with mobile Internet, social networking and e-commerce. We analyse the requirment of platform, decribe the designment of the main modules, and discuss the key relization technologies. The SMSRL platform is reasonable in designment, which is easy to transplant between different platforms, to upgrades and to facilitate commercialization.
Key words : Location Based Service(LBS); sharing sociality resource; global position system; Andriod

    当前移动设备上的传统即时通信软件(如QQ、MSN等)是基于TCP协议的即时通信软件,已难以满足个性化的社交需求。随着GPS(Global Position System)系统的普及和移动互联网的高速发展,基于地理位置的服务LBS(Location Based Service)式社交成为研究智能手机应用的热点。LBS是指移动网络通过GPS技术和电子地图平台的支持来获取移动终端用户的位置信息,为终端用户提供相应服务的一种增值业务[1]。参考文献[2]研究了匿名LBS的使用,参考文献[3]讨论了LBS应用的安全技术,参考文献[4]提出一种基于Web 服务技术构建LBS 的体系结构。但是目前国内LBS仅在移动互联网、社交网络和电子商务的单独应用较多,因此研究这三者的结合,是目前IT技术科研应用的重要领域,同时也将带来巨大的经济和社会效益。LBS移动社交资源共享SMSRL(Sharing Mobile Sociality Resource Based on LBS)平台正是利用上述技术,完成一些即时性的实际社交活动,使单纯的网络信息交互,变成立体化的人际式交互。

1 SMSRL平台概述
    SMSRL平台是Android手机上开发一个LBS交友应用程序,其功能促进了用户的社交发展。该平台利用Android的GPS定位数据,结合百度地图开放API与极光推送API,使移动用户之间,特别是附近的用户之间实现更有价值的社交活动,如帮助完成某些任务、与附近的好友聊天等。
    SMSRL平台的开发严格遵循软件工程的原则,开发分为如下步骤:
     (1) 需求分析; (2)设计客户端UI;(3)设计数据存储,创建数据库和表; (4)设计服务器端与客户端交互;(5)实现客户端功能界面与服务器端的逻辑处理; (6)客户端程序打包、签名并发布。
2 SMSRL平台需求分析
    SMSRL平台通过手机定位技术,认识了身边的有缘人,可与熟悉的或陌生的朋友打招呼、聊天、分享位置等信息。SMSRL的功能结构图如图1所示,主要功能包括:任务管理(包括发布任务、我的任务管理、附近任务列表等)、好友的管理(包括显示好友和自己的最新动态信息、查找附近好友、聊天)及对系统、任务的设置。

    SMSRL的主要参与者包括发布者和搜索者,涉及的主要用例有:发布任务、状态管理、搜索任务、任务竞标等,系统用例图如图2所示。

3 SMSRL平台设计
3.1 架构设计

    Andriod是目前流行的智能手机终端操作系统和移动应用开发平台,由操作系统、中间件、用户界面和应用软件组成,是一个开放而完整的移动“软件栈”[5]。SMSRL平台的设计借鉴了参考文献[6-9],其设计思路是:利用Android平台的GPS定位模块提供位置信息,利用极光推送API实现消息推送,调用百度地图API实现地图描绘,利用Android应用程序框架实现网络通信的功能。客户端点击界面产生触屏事件,发送请求给监听Service服务类,Service处理请求后调用HTTPClien组装请求URL,发送并异步接收数据刷新界面。服务器端Strust2框架接收到URL请求调用对应Action处理数据,Action再调用Hibernate做数据持久化,按照请求调用推送框架,组装推送消息,实现实体类推送。
3.2 SMSRL平台数据库设计
    SMSRL平台涉及的实体主要有用户、活动、好友和任务,这些实体关联又产生了活动参与表、用户参与表、在线用户列表等。同时为了提高存取速度,将用户、活动、好友和任务实体的相关图片存放到相应的图片表中。服务器端数据库模型如图3所示。  

         
3.3 MSRL平台的关键技术
3.3.1 服务器端与客户端交互协议设计

     Android客户端的联网协议采用Http的方式,而由于Android 内部已经集成了Apache Http这个类,所以本设计采用了HttpClient的方式做Http连接。自定义HttpClient类内部采用单例模式获取HttpClient对象,发起Post请求。而每一种消息经处理后返回Json格式字符串,并且将其实例化为对应的消息体对象,Entity为统一的消息接口,将请求返回的输入流传进,返回以UTF-8编码的Sring类型对象。获得返回值之后,在MyService作处理,并通过Android的Handle方式异步刷新UI作出反应。
3.3.2 异步加载最新信息的设计
     由于Android自带的Listview显示风格单调,而且不具备下拉刷新与上推加载的功能,本平台设计并实现了比较常用的下拉刷新异步加载图片的ListView控件。在列表显示界面中,可以按住列表项向下拖动加载最新消息,在列表最后的一项,通过向上拖动或者点击加载更多消息,并伴随加载动画。设计的XListView控件继承了Android平台的ListView,其相应的类图如图4所示。

 

 

3.3.3 图像加载功能的实现
    (1) 图片获取
    由于Android的文件存储于网络,因而使用异步加载的方式来显示控件可以给用户带来更好的体验。在Android应用中,如果UI线程5 s内没响应,就会抛出无响应异常,在远程获取较大图片资源时,这种异常很容易导致应用失败。要避免这种问题的产生,将启动一个新的线程来获取资源,完成后通过Handler机制发送消息,并在UI线程中处理消息,从而达到在异步线程中获取图片的效果。
    (2) 图片保存
    在每次获取图片资源时,都要重新进行远程下载,占用内存太多,而且加载速度慢,特别是较大的图片资源,甚至会导致内存溢出。为了提高加载速度、节省流量,将图片资源保存在本地手机的SDCard上,需要时可直接从SDCard读取。SDCard空间毕竟有限,因此采用最近最久未使用(LRU)算法,当空间不足时,根据LRU规则删除一些最近没有被用户使用的资源即可。
    利用Android通用框架,结合百度地图与极光推送的开放API,实现了LBS社交资源共享平台。在系统的设计中充分考虑了Android系统的易移植性、高销量等优点,集中使用了Android系统的各接口API模块,特别是异步加载最新信息和图片资源下载的设计和实现,使系统的运行效率有了较大的提升。该平台的广泛应用,彻底加强了社交网络的真实影响。
参考文献
[1] 李海燕, 张岩. 移动通信网络的移动台定位技术及应用[J].邮电设计技术,2006(3):27-34.
[2] MARCP G, DIRK G. Anonymous usage of location-based services through spatial and temporal cloaking[C]. International Conference on Mobile Systems, Applications, and Services-MobiSys,2003.
[3] Yang Jie, Chen Yingying, SANJAY M, et al. Securing mobile location-based services through position verification leveraging key distribution[C].Wireless Communications and  Networking, IEEE Conference-WCNC, 2012.
[4] 周脚根,边馥苓.一种基于位置的移动服务系统的设计与实现[J].武汉大学学报(信息科学版), 2006,31(4):352-355.
[5] 姚昱曼,刘卫国.Andriod的架构与应用开发研究[J].计算机系统应用,2008(11):110-112.
[6] 张志清.基于Android的移动社交产品客户端设计与实现[D].北京:北京交通大学,2012.
[7] 刘卜.移动社交网络平台的研究与实现[D]. 北京: 北京邮电大学,2011.
[8] 许颖,魏峰远.移动GIS关键技术及开发模式探讨[J]. 测绘与空间地理信息,2008,31(4):45-47.
[9] 罗英伟,黄宝琦,汪小林,等.轻量级WebGIS系统PKGML[J].计算机辅助设计与图形学学报,2005,17(04):852-861.

此内容为AET网站原创,未经授权禁止转载。