文獻標識碼: A
文章編號: 0258-7998(2013)09-0139-03
當前移動設(shè)備上的傳統(tǒng)即時通信軟件(如QQ、MSN等)是基于TCP協(xié)議的即時通信軟件,,已難以滿足個性化的社交需求,。隨著GPS(Global Position System)系統(tǒng)的普及和移動互聯(lián)網(wǎng)的高速發(fā)展,基于地理位置的服務LBS(Location Based Service)式社交成為研究智能手機應用的熱點,。LBS是指移動網(wǎng)絡通過GPS技術(shù)和電子地圖平臺的支持來獲取移動終端用戶的位置信息,,為終端用戶提供相應服務的一種增值業(yè)務[1]。參考文獻[2]研究了匿名LBS的使用,,參考文獻[3]討論了LBS應用的安全技術(shù),,參考文獻[4]提出一種基于Web 服務技術(shù)構(gòu)建LBS 的體系結(jié)構(gòu)。但是目前國內(nèi)LBS僅在移動互聯(lián)網(wǎng),、社交網(wǎng)絡和電子商務的單獨應用較多,,因此研究這三者的結(jié)合,是目前IT技術(shù)科研應用的重要領(lǐng)域,,同時也將帶來巨大的經(jīng)濟和社會效益,。LBS移動社交資源共享SMSRL(Sharing Mobile Sociality Resource Based on LBS)平臺正是利用上述技術(shù),完成一些即時性的實際社交活動,,使單純的網(wǎng)絡信息交互,,變成立體化的人際式交互。
1 SMSRL平臺概述
SMSRL平臺是Android手機上開發(fā)一個LBS交友應用程序,,其功能促進了用戶的社交發(fā)展,。該平臺利用Android的GPS定位數(shù)據(jù),結(jié)合百度地圖開放API與極光推送API,,使移動用戶之間,,特別是附近的用戶之間實現(xiàn)更有價值的社交活動,如幫助完成某些任務,、與附近的好友聊天等,。
SMSRL平臺的開發(fā)嚴格遵循軟件工程的原則,開發(fā)分為如下步驟:
(1) 需求分析; (2)設(shè)計客戶端UI;(3)設(shè)計數(shù)據(jù)存儲,,創(chuàng)建數(shù)據(jù)庫和表; (4)設(shè)計服務器端與客戶端交互;(5)實現(xiàn)客戶端功能界面與服務器端的邏輯處理; (6)客戶端程序打包,、簽名并發(fā)布。
2 SMSRL平臺需求分析
SMSRL平臺通過手機定位技術(shù),,認識了身邊的有緣人,,可與熟悉的或陌生的朋友打招呼、聊天,、分享位置等信息,。SMSRL的功能結(jié)構(gòu)圖如圖1所示,主要功能包括:任務管理(包括發(fā)布任務、我的任務管理,、附近任務列表等),、好友的管理(包括顯示好友和自己的最新動態(tài)信息、查找附近好友,、聊天)及對系統(tǒng),、任務的設(shè)置。
SMSRL的主要參與者包括發(fā)布者和搜索者,,涉及的主要用例有:發(fā)布任務,、狀態(tài)管理、搜索任務,、任務競標等,,系統(tǒng)用例圖如圖2所示。
3 SMSRL平臺設(shè)計
3.1 架構(gòu)設(shè)計
Andriod是目前流行的智能手機終端操作系統(tǒng)和移動應用開發(fā)平臺,,由操作系統(tǒng),、中間件、用戶界面和應用軟件組成,,是一個開放而完整的移動“軟件棧”[5],。SMSRL平臺的設(shè)計借鑒了參考文獻[6-9],其設(shè)計思路是:利用Android平臺的GPS定位模塊提供位置信息,,利用極光推送API實現(xiàn)消息推送,,調(diào)用百度地圖API實現(xiàn)地圖描繪,利用Android應用程序框架實現(xiàn)網(wǎng)絡通信的功能,??蛻舳它c擊界面產(chǎn)生觸屏事件,發(fā)送請求給監(jiān)聽Service服務類,,Service處理請求后調(diào)用HTTPClien組裝請求URL,,發(fā)送并異步接收數(shù)據(jù)刷新界面。服務器端Strust2框架接收到URL請求調(diào)用對應Action處理數(shù)據(jù),,Action再調(diào)用Hibernate做數(shù)據(jù)持久化,,按照請求調(diào)用推送框架,組裝推送消息,,實現(xiàn)實體類推送,。
3.2 SMSRL平臺數(shù)據(jù)庫設(shè)計
SMSRL平臺涉及的實體主要有用戶、活動,、好友和任務,,這些實體關(guān)聯(lián)又產(chǎn)生了活動參與表、用戶參與表,、在線用戶列表等,。同時為了提高存取速度,將用戶,、活動、好友和任務實體的相關(guān)圖片存放到相應的圖片表中,。服務器端數(shù)據(jù)庫模型如圖3所示,。
3.3 MSRL平臺的關(guān)鍵技術(shù)
3.3.1 服務器端與客戶端交互協(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格式字符串,并且將其實例化為對應的消息體對象,,Entity為統(tǒng)一的消息接口,,將請求返回的輸入流傳進,返回以UTF-8編碼的Sring類型對象,。獲得返回值之后,,在MyService作處理,并通過Android的Handle方式異步刷新UI作出反應,。
3.3.2 異步加載最新信息的設(shè)計
由于Android自帶的Listview顯示風格單調(diào),,而且不具備下拉刷新與上推加載的功能,本平臺設(shè)計并實現(xiàn)了比較常用的下拉刷新異步加載圖片的ListView控件,。在列表顯示界面中,,可以按住列表項向下拖動加載最新消息,在列表最后的一項,,通過向上拖動或者點擊加載更多消息,,并伴隨加載動畫。設(shè)計的XListView控件繼承了Android平臺的ListView,,其相應的類圖如圖4所示,。
3.3.3 圖像加載功能的實現(xiàn)
(1) 圖片獲取
由于Android的文件存儲于網(wǎng)絡,因而使用異步加載的方式來顯示控件可以給用戶帶來更好的體驗,。在Android應用中,,如果UI線程5 s內(nèi)沒響應,就會拋出無響應異常,在遠程獲取較大圖片資源時,,這種異常很容易導致應用失敗,。要避免這種問題的產(chǎn)生,將啟動一個新的線程來獲取資源,,完成后通過Handler機制發(fā)送消息,,并在UI線程中處理消息,從而達到在異步線程中獲取圖片的效果,。
(2) 圖片保存
在每次獲取圖片資源時,,都要重新進行遠程下載,,占用內(nèi)存太多,而且加載速度慢,,特別是較大的圖片資源,,甚至會導致內(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)的運行效率有了較大的提升。該平臺的廣泛應用,,徹底加強了社交網(wǎng)絡的真實影響,。
參考文獻
[1] 李海燕, 張巖. 移動通信網(wǎng)絡的移動臺定位技術(shù)及應用[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] 周腳根,邊馥苓.一種基于位置的移動服務系統(tǒng)的設(shè)計與實現(xiàn)[J].武漢大學學報(信息科學版), 2006,31(4):352-355.
[5] 姚昱曼,劉衛(wèi)國.Andriod的架構(gòu)與應用開發(fā)研究[J].計算機系統(tǒng)應用,2008(11):110-112.
[6] 張志清.基于Android的移動社交產(chǎn)品客戶端設(shè)計與實現(xiàn)[D].北京:北京交通大學,2012.
[7] 劉卜.移動社交網(wǎng)絡平臺的研究與實現(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.