《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > LBS移動社交資源共享平臺的設(shè)計與實現(xiàn)
LBS移動社交資源共享平臺的設(shè)計與實現(xiàn)
來源:電子技術(shù)應(yīng)用2013年第9期
陳月峰1,李炳泉1,彭凌西2,謝冬青2,鐘秀玉3
1. 廣東海洋大學 信息學院,廣東 湛江 524088; 2. 廣州大學 計算機科學與教育軟件學院,廣東 廣州 510006; 3. 廣東嘉應(yīng)學院 計算機學院, 廣東 梅州514015
摘要: 結(jié)合移動互聯(lián)網(wǎng)、社交網(wǎng)絡(luò)和電子商務(wù),構(gòu)建了基于位置的服務(wù)(LBS)移動社交資源共享(SMSRL)平臺,并對主要功能模塊設(shè)計進行了詳細的描述,探討了實現(xiàn)該平臺的關(guān)鍵技術(shù)。SMSRL平臺的系統(tǒng)設(shè)計合理,便于在不同平臺間移植和升級,適合商業(yè)化。
中圖分類號: 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

    當前移動設(shè)備上的傳統(tǒng)即時通信軟件(如QQ、MSN等)是基于TCP協(xié)議的即時通信軟件,已難以滿足個性化的社交需求。隨著GPS(Global Position System)系統(tǒng)的普及和移動互聯(lián)網(wǎng)的高速發(fā)展,基于地理位置的服務(wù)LBS(Location Based Service)式社交成為研究智能手機應(yīng)用的熱點。LBS是指移動網(wǎng)絡(luò)通過GPS技術(shù)和電子地圖平臺的支持來獲取移動終端用戶的位置信息,為終端用戶提供相應(yīng)服務(wù)的一種增值業(yè)務(wù)[1]。參考文獻[2]研究了匿名LBS的使用,參考文獻[3]討論了LBS應(yīng)用的安全技術(shù),參考文獻[4]提出一種基于Web 服務(wù)技術(shù)構(gòu)建LBS 的體系結(jié)構(gòu)。但是目前國內(nèi)LBS僅在移動互聯(lián)網(wǎng)、社交網(wǎng)絡(luò)和電子商務(wù)的單獨應(yīng)用較多,因此研究這三者的結(jié)合,是目前IT技術(shù)科研應(yīng)用的重要領(lǐng)域,同時也將帶來巨大的經(jīng)濟和社會效益。LBS移動社交資源共享SMSRL(Sharing Mobile Sociality Resource Based on LBS)平臺正是利用上述技術(shù),完成一些即時性的實際社交活動,使單純的網(wǎng)絡(luò)信息交互,變成立體化的人際式交互。

1 SMSRL平臺概述
    SMSRL平臺是Android手機上開發(fā)一個LBS交友應(yīng)用程序,其功能促進了用戶的社交發(fā)展。該平臺利用Android的GPS定位數(shù)據(jù),結(jié)合百度地圖開放API與極光推送API,使移動用戶之間,特別是附近的用戶之間實現(xiàn)更有價值的社交活動,如幫助完成某些任務(wù)、與附近的好友聊天等。
    SMSRL平臺的開發(fā)嚴格遵循軟件工程的原則,開發(fā)分為如下步驟:
     (1) 需求分析; (2)設(shè)計客戶端UI;(3)設(shè)計數(shù)據(jù)存儲,創(chuàng)建數(shù)據(jù)庫和表; (4)設(shè)計服務(wù)器端與客戶端交互;(5)實現(xiàn)客戶端功能界面與服務(wù)器端的邏輯處理; (6)客戶端程序打包、簽名并發(fā)布。
2 SMSRL平臺需求分析
    SMSRL平臺通過手機定位技術(shù),認識了身邊的有緣人,可與熟悉的或陌生的朋友打招呼、聊天、分享位置等信息。SMSRL的功能結(jié)構(gòu)圖如圖1所示,主要功能包括:任務(wù)管理(包括發(fā)布任務(wù)、我的任務(wù)管理、附近任務(wù)列表等)、好友的管理(包括顯示好友和自己的最新動態(tài)信息、查找附近好友、聊天)及對系統(tǒng)、任務(wù)的設(shè)置。

    SMSRL的主要參與者包括發(fā)布者和搜索者,涉及的主要用例有:發(fā)布任務(wù)、狀態(tài)管理、搜索任務(wù)、任務(wù)競標等,系統(tǒng)用例圖如圖2所示。

3 SMSRL平臺設(shè)計
3.1 架構(gòu)設(shè)計

    Andriod是目前流行的智能手機終端操作系統(tǒng)和移動應(yīng)用開發(fā)平臺,由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,是一個開放而完整的移動“軟件棧”[5]。SMSRL平臺的設(shè)計借鑒了參考文獻[6-9],其設(shè)計思路是:利用Android平臺的GPS定位模塊提供位置信息,利用極光推送API實現(xiàn)消息推送,調(diào)用百度地圖API實現(xiàn)地圖描繪,利用Android應(yīng)用程序框架實現(xiàn)網(wǎng)絡(luò)通信的功能。客戶端點擊界面產(chǎn)生觸屏事件,發(fā)送請求給監(jiān)聽Service服務(wù)類,Service處理請求后調(diào)用HTTPClien組裝請求URL,發(fā)送并異步接收數(shù)據(jù)刷新界面。服務(wù)器端Strust2框架接收到URL請求調(diào)用對應(yīng)Action處理數(shù)據(jù),Action再調(diào)用Hibernate做數(shù)據(jù)持久化,按照請求調(diào)用推送框架,組裝推送消息,實現(xiàn)實體類推送。
3.2 SMSRL平臺數(shù)據(jù)庫設(shè)計
    SMSRL平臺涉及的實體主要有用戶、活動、好友和任務(wù),這些實體關(guān)聯(lián)又產(chǎn)生了活動參與表、用戶參與表、在線用戶列表等。同時為了提高存取速度,將用戶、活動、好友和任務(wù)實體的相關(guān)圖片存放到相應(yīng)的圖片表中。服務(wù)器端數(shù)據(jù)庫模型如圖3所示。  

         
3.3 MSRL平臺的關(guān)鍵技術(shù)
3.3.1 服務(wù)器端與客戶端交互協(xié)議設(shè)計

     Android客戶端的聯(lián)網(wǎng)協(xié)議采用Http的方式,而由于Android 內(nèi)部已經(jīng)集成了Apache Http這個類,所以本設(shè)計采用了HttpClient的方式做Http連接。自定義HttpClient類內(nèi)部采用單例模式獲取HttpClient對象,發(fā)起Post請求。而每一種消息經(jīng)處理后返回Json格式字符串,并且將其實例化為對應(yīng)的消息體對象,Entity為統(tǒng)一的消息接口,將請求返回的輸入流傳進,返回以UTF-8編碼的Sring類型對象。獲得返回值之后,在MyService作處理,并通過Android的Handle方式異步刷新UI作出反應(yīng)。
3.3.2 異步加載最新信息的設(shè)計
     由于Android自帶的Listview顯示風格單調(diào),而且不具備下拉刷新與上推加載的功能,本平臺設(shè)計并實現(xiàn)了比較常用的下拉刷新異步加載圖片的ListView控件。在列表顯示界面中,可以按住列表項向下拖動加載最新消息,在列表最后的一項,通過向上拖動或者點擊加載更多消息,并伴隨加載動畫。設(shè)計的XListView控件繼承了Android平臺的ListView,其相應(yīng)的類圖如圖4所示。

 

 

3.3.3 圖像加載功能的實現(xiàn)
    (1) 圖片獲取
    由于Android的文件存儲于網(wǎng)絡(luò),因而使用異步加載的方式來顯示控件可以給用戶帶來更好的體驗。在Android應(yīng)用中,如果UI線程5 s內(nèi)沒響應(yīng),就會拋出無響應(yīng)異常,在遠程獲取較大圖片資源時,這種異常很容易導(dǎo)致應(yīng)用失敗。要避免這種問題的產(chǎn)生,將啟動一個新的線程來獲取資源,完成后通過Handler機制發(fā)送消息,并在UI線程中處理消息,從而達到在異步線程中獲取圖片的效果。
    (2) 圖片保存
    在每次獲取圖片資源時,都要重新進行遠程下載,占用內(nèi)存太多,而且加載速度慢,特別是較大的圖片資源,甚至會導(dǎo)致內(nèi)存溢出。為了提高加載速度、節(jié)省流量,將圖片資源保存在本地手機的SDCard上,需要時可直接從SDCard讀取。SDCard空間畢竟有限,因此采用最近最久未使用(LRU)算法,當空間不足時,根據(jù)LRU規(guī)則刪除一些最近沒有被用戶使用的資源即可。
    利用Android通用框架,結(jié)合百度地圖與極光推送的開放API,實現(xiàn)了LBS社交資源共享平臺。在系統(tǒng)的設(shè)計中充分考慮了Android系統(tǒng)的易移植性、高銷量等優(yōu)點,集中使用了Android系統(tǒng)的各接口API模塊,特別是異步加載最新信息和圖片資源下載的設(shè)計和實現(xiàn),使系統(tǒng)的運行效率有了較大的提升。該平臺的廣泛應(yīng)用,徹底加強了社交網(wǎng)絡(luò)的真實影響。
參考文獻
[1] 李海燕, 張巖. 移動通信網(wǎng)絡(luò)的移動臺定位技術(shù)及應(yīng)用[J].郵電設(shè)計技術(shù),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] 周腳根,邊馥苓.一種基于位置的移動服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[J].武漢大學學報(信息科學版), 2006,31(4):352-355.
[5] 姚昱曼,劉衛(wèi)國.Andriod的架構(gòu)與應(yīng)用開發(fā)研究[J].計算機系統(tǒng)應(yīng)用,2008(11):110-112.
[6] 張志清.基于Android的移動社交產(chǎn)品客戶端設(shè)計與實現(xiàn)[D].北京:北京交通大學,2012.
[7] 劉卜.移動社交網(wǎng)絡(luò)平臺的研究與實現(xiàn)[D]. 北京: 北京郵電大學,2011.
[8] 許穎,魏峰遠.移動GIS關(guān)鍵技術(shù)及開發(fā)模式探討[J]. 測繪與空間地理信息,2008,31(4):45-47.
[9] 羅英偉,黃寶琦,汪小林,等.輕量級WebGIS系統(tǒng)PKGML[J].計算機輔助設(shè)計與圖形學學報,2005,17(04):852-861.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。