• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于社交網(wǎng)絡(luò)的定位軟件的研究

      2015-02-10 03:05:40翟林靜
      關(guān)鍵詞:該軟件新浪百度

      孫 弋,翟林靜

      近些年來隨著城市建設(shè)的飛速發(fā)展,城市的交通線路也漸漸繁雜起來.對于老人和小孩以及一些無識(shí)路能力的弱勢群體,在他們走失后,不能準(zhǔn)確描述自己的具體位置,這給救援任務(wù)帶來巨大困難.隨著智能手機(jī)、車載移動(dòng)終端等多種移動(dòng)設(shè)備的普及以及4 G技術(shù)的日趨成熟,使用移動(dòng)終端設(shè)備來訪問社交網(wǎng)絡(luò)逐漸成為主流.而一些大型的社交網(wǎng)站已經(jīng)陸續(xù)開放了第三方接入的功能,為信息的采集、傳遞和處理提供了便利.

      針對這一情況,論文設(shè)計(jì)了一款基于社交網(wǎng)絡(luò)的定位軟件.該設(shè)計(jì)采用新浪微博平臺(tái)作為數(shù)據(jù)傳輸?shù)拿浇?,在有GPRS信號(hào)或Wifi覆蓋的區(qū)域內(nèi),可以尋找某指定用戶的位置信息及運(yùn)動(dòng)的軌跡.

      1 定位系統(tǒng)的總體設(shè)計(jì)方案

      該軟件以跟蹤定位無識(shí)路能力的弱勢群體作為出發(fā)點(diǎn),利用Android平臺(tái)、社交網(wǎng)絡(luò)和百度地圖的開放性和無線通信網(wǎng)絡(luò),實(shí)現(xiàn)準(zhǔn)確的定位和跟蹤服務(wù).該軟件由服務(wù)器端和客戶端組成,集客戶端集跟蹤者和被跟蹤者所需的功能于一身,通過新浪微博數(shù)據(jù)通道可以隨時(shí)發(fā)送自己的位置信息(作為被跟蹤者)和請求信息(作為跟蹤者)給服務(wù)器,且作為跟蹤者向服務(wù)器請求成功后便可以顯示被跟蹤者的位置信息.而服務(wù)器負(fù)責(zé)數(shù)據(jù)的接收、存儲(chǔ)、處理和轉(zhuǎn)發(fā),兩者需要配合使用.軟件的整體設(shè)計(jì)方案如圖1所示.

      其中客戶端軟件分為如圖1所示的3個(gè)模塊.系統(tǒng)設(shè)置模塊主要功能即設(shè)置位置信息發(fā)送的時(shí)間間隔(作為被跟蹤方)以及設(shè)置被跟蹤者的微博賬號(hào)和所需接收時(shí)間的起始值(作為跟蹤方);數(shù)據(jù)收發(fā)模塊主要功能即實(shí)現(xiàn)客戶端與服務(wù)器數(shù)據(jù)的及時(shí)有效傳輸.功能實(shí)現(xiàn)模塊即完成某段時(shí)間內(nèi)被跟蹤者位置軌跡的描述與繪制.服務(wù)器主要由兩個(gè)模塊組成:用戶管理模塊負(fù)責(zé)建立數(shù)據(jù)庫保存用戶的數(shù)據(jù)信息方便查閱;數(shù)據(jù)收發(fā)模塊的主要功能也是實(shí)現(xiàn)和客戶端實(shí)時(shí)有效的數(shù)據(jù)傳輸.

      2 開發(fā)的相關(guān)技術(shù)

      2.1 數(shù)據(jù)的存儲(chǔ)

      在該系統(tǒng)中,用Shared Pref erences類來儲(chǔ)存微博用戶的配置信息,以便每次不必重復(fù)輸入用戶名和密碼.在服務(wù)器端軟件管理中用到了SQLite數(shù)據(jù)庫,SQLite是Android內(nèi)嵌的數(shù)據(jù)庫,使用起來方便簡潔、體積小、速度快.在該軟件開發(fā)中用到的是SQLite3及其以上版本,保證了數(shù)據(jù)的完整性與安全性.

      2.2 新浪微博開放平臺(tái)

      新浪微博開放平臺(tái)[1]作為被廣泛應(yīng)用的社交網(wǎng)絡(luò)平臺(tái),向第三方開發(fā)者提供了開放的API接口,開發(fā)者可以通過調(diào)用API實(shí)現(xiàn)微博的幾乎所有功能.另外,新浪微博API支持OAut h協(xié)議[2],讓用戶在使用新浪微博API創(chuàng)建應(yīng)用和服務(wù)的時(shí)候需向新浪微博服務(wù)器來驗(yàn)證賬號(hào)和密碼,而無需向開發(fā)者提供賬號(hào)密碼,這樣也很好地保護(hù)了用戶的隱私.該軟件基于新浪微博平臺(tái),通過調(diào)用新浪微博API實(shí)現(xiàn)發(fā)布微博、刷新微博等功能,實(shí)現(xiàn)了數(shù)據(jù)信息的交換.在使用新浪微博提供的SDK之前需申請開發(fā)者權(quán)限,獲取App Key、App Secret及其相應(yīng)的授權(quán)回調(diào)頁以便在程序中使用,最后將新浪微博提供的SDK包引入工程即可使用.

      大部分API的訪問如發(fā)表微博、獲取私信,關(guān)注都需要用戶身份,目前微博開放平臺(tái)用戶身份鑒權(quán)有OAuth2.0和Basic Auth(僅用于應(yīng)用所屬開發(fā)者調(diào)試接口)[3],新版接口也僅支持這兩種方式,其接口如表1所示.通過調(diào)用這些接口配合開發(fā)者自己的App Key和App Secret即可以實(shí)現(xiàn)微博成功授權(quán),以便能夠成功調(diào)用微博提供的其他用戶接口.

      表1 授權(quán)機(jī)制接口Tab.1 The interface of authorization mechanism

      新浪微博開放平臺(tái)為第三方應(yīng)用提供了可供調(diào)用的微博API,使第三方客戶端無須了解復(fù)雜的驗(yàn)證以及API調(diào)用的過程.通過調(diào)用相應(yīng)的接口就可以實(shí)現(xiàn)發(fā)送微博、獲?。牢业奈⒉┮约爱?dāng)前用戶的信息等.表2列出了該軟件所涉及的API接口,通過調(diào)用這些接口能夠?qū)崿F(xiàn)數(shù)據(jù)的發(fā)送與接收.

      表2 開發(fā)中涉及的APITab.2 The API used in develop ment

      2.3 百度地圖開放平臺(tái)

      百度地圖[4]Android SDK是一套基于Andr oid 2.1及以上版本設(shè)備的應(yīng)用程序接口.開發(fā)者可以使用該套SDK開發(fā)適用于Android系統(tǒng)移動(dòng)設(shè)備的地圖應(yīng)用,通過調(diào)用地圖SDK接口,用戶可以輕松訪問百度地圖服務(wù)和數(shù)據(jù),構(gòu)建功能豐富、交互性強(qiáng)的地圖類應(yīng)用程序[5].百度地圖Andr oid SDK提供的所有服務(wù)是免費(fèi)的,接口使用無次數(shù)限制.開發(fā)者需申請密鑰(key)后,才可使用百度地圖Andr oid SDK.該軟件將引入百度地圖提供的兩個(gè)SDK包baidu mapapi-v2-4-0.jar和l oc SDK-4.0.jar及其分別對應(yīng)的兩個(gè).so文件.

      3 定位軟件的實(shí)現(xiàn)

      該軟件主要由客戶端和服務(wù)器組成:服務(wù)器端在整個(gè)定位系統(tǒng)中扮演著一個(gè)信息管理的角色,負(fù)責(zé)數(shù)據(jù)的接收、存儲(chǔ)和轉(zhuǎn)發(fā),通過其管理能使軟件更可靠安全;客戶端進(jìn)行數(shù)據(jù)的發(fā)送以及接收,并在地圖上標(biāo)記出相應(yīng)的位置信息.圖2展示了系統(tǒng)工作的整體流程.

      如圖2所示,客戶端經(jīng)由新浪微博數(shù)據(jù)通道向服務(wù)器發(fā)送數(shù)據(jù),服務(wù)器會(huì)接收數(shù)據(jù)判斷數(shù)據(jù)的有效性和可靠性,并區(qū)分是作為跟蹤方的請求信息還是作為被跟蹤方的位置信息,如為位置信息則保存到數(shù)據(jù)庫以供查詢;如為請求信息則查詢數(shù)據(jù)庫中有無請求的被跟蹤者的位置信息;如果查詢到結(jié)果則把被跟蹤者的位置信息經(jīng)由新浪微博數(shù)據(jù)通道發(fā)送給客戶端,客戶端作為跟蹤者即可接收數(shù)據(jù),經(jīng)過相應(yīng)的處理將被跟蹤者的位置及當(dāng)時(shí)的時(shí)間信息顯示在百度地圖上.

      3.1 數(shù)據(jù)通信協(xié)議

      數(shù)據(jù)通信協(xié)議[6]也就是數(shù)據(jù)包格式,是通信雙方必須遵循的數(shù)據(jù)描述格式,一般是約定發(fā)送方如何建立數(shù)據(jù)包和接收方如何處理數(shù)據(jù)包并從數(shù)據(jù)包中提取出需要的信息.通信協(xié)議的定制保證了數(shù)據(jù)傳輸?shù)目煽啃?,通信雙方通過約定好的協(xié)議將傳送的數(shù)據(jù)進(jìn)行封裝與拆解,將信息以事先定義好的格式在客戶端進(jìn)行顯示.該軟件客戶端數(shù)據(jù)以不同的包頭和包尾來區(qū)分位置數(shù)據(jù)和請求數(shù)據(jù),位置數(shù)據(jù)和請求數(shù)據(jù)分別承載了不同的數(shù)據(jù)信息,用“;”對數(shù)據(jù)內(nèi)容進(jìn)行分隔.服務(wù)器端數(shù)據(jù)只有一種,且數(shù)據(jù)內(nèi)容同樣以“;”進(jìn)行分隔.

      如表3、4所示為客戶端所采用的數(shù)據(jù)通信協(xié)議,服務(wù)器必須嚴(yán)格按照這一協(xié)議進(jìn)行數(shù)據(jù)解析,否則數(shù)據(jù)的解析將會(huì)出現(xiàn)異常.

      表3 客戶端發(fā)送位置信息通信協(xié)議Tab.3 The client communication protocol of sending the location infor mation

      表4 客戶端發(fā)送請求位置信息通信協(xié)議Tab.4 The client communication protocol of sending the request infor mation

      如表5所示為服務(wù)器所采用的數(shù)據(jù)通信協(xié)議,客戶端必須嚴(yán)格按照這一協(xié)議進(jìn)行數(shù)據(jù)解析,否則數(shù)據(jù)的解析將會(huì)出現(xiàn)異常.

      表5 服務(wù)器端通信協(xié)議Tab.5 The server communication protocol

      3.2 數(shù)據(jù)的收發(fā)流程

      客戶端數(shù)據(jù)的發(fā)送流程和接收流程如圖3、4所示.

      如圖3所示,客戶端數(shù)據(jù)有兩種,一種是作為被跟蹤方要發(fā)送本地的位置信息,另一種是作為跟蹤方要向服務(wù)器發(fā)送請求信息.圖4是作為跟蹤者時(shí)數(shù)據(jù)接收流程圖.其中數(shù)據(jù)打包與拆包都應(yīng)嚴(yán)格按照上一節(jié)數(shù)據(jù)通信協(xié)議所規(guī)定的格式來執(zhí)行.

      服務(wù)器數(shù)據(jù)的收發(fā)流程如圖5所示.

      如圖5所示,用此種方法收發(fā)數(shù)據(jù)保證了數(shù)據(jù)的安全性與可靠性,只有經(jīng)過允許的用戶才能收發(fā)位置信息,避免了其他數(shù)據(jù)的干擾,這也是服務(wù)器的一個(gè)重要的功能.

      3.3 數(shù)據(jù)庫管理

      SQLite[7]是輕量級的、嵌入式的、關(guān)系型數(shù)據(jù)庫,目前已經(jīng)在i Phone、Andr oid等手機(jī)系統(tǒng)中使用.該軟件在服務(wù)器端采用SQLite3數(shù)據(jù)庫作為數(shù)據(jù)的存儲(chǔ)方式,核心的操作類和接口如表6所示.

      表6 Android中數(shù)據(jù)庫操作核心類和接口Tab.6 The core classes and interf aces used in Android database operation

      數(shù)據(jù)庫的基本組成單位是數(shù)據(jù)表[8],數(shù)據(jù)表由表名稱、列以及屬性組成.該軟件所使用的數(shù)據(jù)表主要有6列,即消息ID(自動(dòng)遞增)、信息發(fā)布的時(shí)間、發(fā)送方的經(jīng)度信息、發(fā)送方的緯度信息、信息發(fā)送方、信息接收方.當(dāng)服務(wù)器接收到新的位置信息后,先進(jìn)行數(shù)據(jù)的拆包,解析出相關(guān)的信息,然后按照數(shù)據(jù)表的格式存入本地的數(shù)據(jù)庫中以供查詢.當(dāng)接收到用戶的請求信息時(shí),根據(jù)獲取到的關(guān)鍵字對數(shù)據(jù)庫進(jìn)行查詢,并將查詢到的結(jié)果按照規(guī)定的數(shù)據(jù)格式發(fā)送給請求的用戶.

      4 軟件測試及分析

      用戶通過輸入被跟蹤定位的人的微博賬號(hào)和需要接收的起始時(shí)間來向服務(wù)器發(fā)送數(shù)據(jù)請求,請求被服務(wù)器允許之后,通過單擊繪制軌跡可以把被跟蹤者在起始時(shí)間之內(nèi)的位置信息及其對應(yīng)的準(zhǔn)確時(shí)間信息繪制在百度地圖上,如圖6所示.

      經(jīng)測試,該軟件能方便快捷地發(fā)送和請求用戶的位置信息,并能準(zhǔn)確查詢用戶的位置信息和所在位置的時(shí)間信息,能使跟蹤者實(shí)時(shí)掌握被跟蹤的行蹤.且對于用戶來說,具有一定的安全性和準(zhǔn)確性,便于進(jìn)行維護(hù)與管理.

      [1] 胡博.基于Android平臺(tái)的微博客戶端開發(fā)[D].長春:吉林大學(xué)軟件學(xué)院,2012.

      [2] 新浪微博開放平臺(tái) API[CP/OL].(2014-06-10)[2014-10-20].http://open.weibo.com/wiki.

      [3] 孫弋,李貴民,王樹奇.Android微博應(yīng)用開發(fā)實(shí)踐[M].西安:西安電子科技大學(xué)出版社,2014.

      [4] 百度地圖LBS開放平臺(tái) API[CP/OL].(2014-06-10)[2014-10-20].http://developer.baidu.com/map.

      [5] 付林,閆強(qiáng),李祥.基于百度地圖的小區(qū)域?qū)Ш綄?shí)現(xiàn)方案研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(5):223-226.

      [6] 孫弋,李青,雷小佩,等.基于社交網(wǎng)絡(luò)的維修辦公終端軟件設(shè)計(jì)與實(shí)現(xiàn)[J].安徽大學(xué)學(xué)報(bào):自然科學(xué)版,2014,38(4):20-26.

      [7] 張恒喜,史爭軍.基于SQLite的 Android數(shù)據(jù)庫編程[J].電腦編程技巧與維護(hù),2011,21:30-31.

      [8] 孫弋,雷小佩.基于社交網(wǎng)絡(luò)的維修辦公后臺(tái)軟件的研究[J].電子技術(shù)應(yīng)用,2014,40(7):134-136.

      [9] 余志龍.Google Android SDK開發(fā)范例大全[M].北京:人民郵電出版社,2011.

      [10] 伊達(dá)錢代,內(nèi)藤孝彥[日].版面設(shè)計(jì)的原理[M].周淳,譯.北京:中信出版社,2013.

      [11] 劉雪.Android平臺(tái)下移動(dòng)軌跡定位信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].金華:浙江師范大學(xué)計(jì)算機(jī)學(xué)院,2013.

      猜你喜歡
      該軟件新浪百度
      猴子雖小
      讀者(2021年20期)2021-09-25 20:30:35
      簡單靈活 控制Windows 10更新更方便
      Robust adaptive UKF based on SVR for inertial based integrated navigation
      Flashfxp Password Decryptor
      百度年度熱搜榜
      新浪讀書排行榜
      百度遭投行下調(diào)評級
      百度“放衛(wèi)星”,有沒有可能?
      太空探索(2014年4期)2014-07-19 10:08:58
      Allen & Heath推出GLD Editor控制軟件
      演藝科技(2013年1期)2013-01-30 01:47:42
      牛津大學(xué)數(shù)據(jù)聯(lián)盟應(yīng)用軟件
      電腦與電信(2010年9期)2010-08-15 00:44:26
      萍乡市| 拜泉县| 都兰县| 武义县| 来宾市| 伊宁市| 肇东市| 余庆县| 柳江县| 札达县| 都安| 南皮县| 柯坪县| 专栏| 鹤庆县| 新竹市| 手游| 麟游县| 西充县| 忻城县| 棋牌| 漯河市| 无为县| 阜平县| 盐池县| 汉源县| 昌乐县| 曲沃县| 酒泉市| 连州市| 桦川县| 陕西省| 安乡县| 天津市| 新民市| 普宁市| 乾安县| 绥江县| 盐城市| 巧家县| 林芝县|