《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于Android的情報管理系統(tǒng)設(shè)計與實現(xiàn)
基于Android的情報管理系統(tǒng)設(shè)計與實現(xiàn)
2017年微型機與應(yīng)用第2期
譚欽紅,黃茂碟,,張作運
重慶郵電大學(xué) 通信與信息工程學(xué)院,,重慶 400065
摘要: 根據(jù)現(xiàn)有信息處理方式,設(shè)計了基于Android的情報管理系統(tǒng),。情報管理系統(tǒng)通過網(wǎng)絡(luò)實時上傳采集的情報信息,,管理員及時處理并下發(fā)指令,APP用戶根據(jù)指令進行處理并將結(jié)果反饋給管理員從而形成閉合的信息處理方式,。緊急情況下手機客戶端直接與后臺管理端進行視頻直播,,更加快捷地做出處理措施。詳細闡述了系統(tǒng)的總體構(gòu)架,,介紹了系統(tǒng)的功能模塊和具體實現(xiàn),,對系統(tǒng)進行測試,并提出系統(tǒng)需要完善的地方,。
Abstract:
Key words :

  譚欽紅,,黃茂碟,張作運

 ?。ㄖ貞c郵電大學(xué) 通信與信息工程學(xué)院,,重慶 400065)

       摘要:根據(jù)現(xiàn)有信息處理方式,設(shè)計了基于Android情報管理系統(tǒng),。情報管理系統(tǒng)通過網(wǎng)絡(luò)實時上傳采集的情報信息,,管理員及時處理并下發(fā)指令,APP用戶根據(jù)指令進行處理并將結(jié)果反饋給管理員從而形成閉合的信息處理方式,。緊急情況下手機客戶端直接與后臺管理端進行視頻直播,,更加快捷地做出處理措施。詳細闡述了系統(tǒng)的總體構(gòu)架,,介紹了系統(tǒng)的功能模塊和具體實現(xiàn),,對系統(tǒng)進行測試,并提出系統(tǒng)需要完善的地方,。

  關(guān)鍵詞:Android,;情報管理系統(tǒng);JAX-WS,;視頻通話

  中圖分類號:TN919.82文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.02.030

  引用格式:譚欽紅,,黃茂碟,,張作運.基于Android的情報管理系統(tǒng)設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2017,36(2):100-103.

0引言

  隨著 “互聯(lián)網(wǎng)+”[1]時代的到來,,傳統(tǒng)行業(yè)中情報信息處理方式顯得有些過時,,如民警執(zhí)法、事故現(xiàn)場指揮救援等采集的情報信息往往是事后處理,,導(dǎo)致信息滯留,,采集設(shè)備也因行業(yè)不同使應(yīng)用場景受限。本文基于互聯(lián)網(wǎng)技術(shù),,采用全新信息處理模式,,設(shè)計了基于Android[2]的情報管理系統(tǒng)。選用開源MySQL[3]關(guān)系型數(shù)據(jù)庫放置在網(wǎng)絡(luò)服務(wù)端,,通過Web Service技術(shù)進行數(shù)據(jù)傳輸,,利用線程及流媒體技術(shù)進行視頻數(shù)據(jù)傳輸,實現(xiàn)信息及時上傳處理并利用Android平臺擴展應(yīng)用場景,,達到了較好的情報管理效果,。

1系統(tǒng)總體架構(gòu)

  1.1系統(tǒng)簡介

  情報管理系統(tǒng)主要包括后臺數(shù)據(jù)存儲服務(wù)器、手機端(包括手機客戶端和手機服務(wù)端)和后臺管理端三部分,,其系統(tǒng)架構(gòu)圖如圖1所示,。手機端采集情報信息上傳至后臺管理端,后臺管理端處理采集信息下發(fā)指令給手機端,,手機端用戶根據(jù)指令內(nèi)容完成相應(yīng)動作并進行反饋從而完成一條閉合的信息處理,。情報信息數(shù)據(jù)在兩大服務(wù)器中進行處理。系統(tǒng)接入互聯(lián)網(wǎng),,實時將現(xiàn)場音視頻圖像回傳給后臺管理端,,將手機變成隨身攜帶的監(jiān)控點,彌補傳統(tǒng)監(jiān)控設(shè)備有圖像沒聲音,,無法實時上傳視頻圖像等問題,。

001.jpg

  1.2系統(tǒng)設(shè)計

  情報管理系統(tǒng)手機端由Android平臺開發(fā)完成,手機端采用C/S[4]架構(gòu)將應(yīng)用程序分為手機客戶端,、手機服務(wù)端兩部分,,手機服務(wù)端與數(shù)據(jù)存儲服務(wù)器進行數(shù)據(jù)交互;后臺管理端由.NET[5]平臺開發(fā)完成,,后臺管理端訪問數(shù)據(jù)存儲服務(wù)器獲得數(shù)據(jù),。

  通過調(diào)用JAXWS[6]服務(wù)來發(fā)布使用Web Service框架的手機服務(wù)端,簡化了Java技術(shù)開發(fā)和部署Web Service的工作,。手機客戶端采集情報信息通過HTTP協(xié)議訪問Tomcat發(fā)布的Web Service服務(wù)器接口將信息存入數(shù)據(jù)庫,將圖片存入FTP服務(wù)器并將圖片路徑寫入數(shù)據(jù)庫中,。后臺管理端通過訪問數(shù)據(jù)庫得到情報信息,,進行分析并下發(fā)處理指令寫入數(shù)據(jù)庫中,,同時接收手機客戶端通過Socket連接請求的實時視頻傳輸。情報管理系統(tǒng)數(shù)據(jù)流圖如圖2所示,。

 

002.jpg

2系統(tǒng)設(shè)計與實現(xiàn)

  情報管理系統(tǒng)主要有三大功能模塊:情報模塊,、指令模塊、視頻圖傳模塊,。情報模塊包括后臺管理端的情報管理和手機端的情報采集,,兩者共同完成情報信息的管理以及采集;指令模塊包括后臺管理端的指令管理和手機端的指令處理,,兩者共同完成實時指令的處理,;視頻圖傳模塊實現(xiàn)一對多的通信模式,后臺管理端可以同時接受多個手機客戶端發(fā)起的視頻連接請求,,實時監(jiān)聽完成視頻傳輸,,并在視頻通話結(jié)束后把視頻存入FTP服務(wù)器中將視頻路徑寫入數(shù)據(jù)庫。

  2.1情報模塊

  該模塊手機客戶端通過HTTP方法上傳情報信息,,情報信息包括情報標題,、情報內(nèi)容、發(fā)生時間和地點,,以及選擇圖片作為附件等,,同時手機客戶端用戶可以查看歷史上傳情報。從后臺管理端,,管理員可以查看相應(yīng)的情報信息,,實時監(jiān)聽手機端是否上傳情報。

  2.1.1情報模塊手機端實現(xiàn)

  完成該模塊功能需要在程序中申明INTERNET權(quán)限讓APP應(yīng)用接入網(wǎng)絡(luò),,申明調(diào)用手機攝像頭拍照和操作權(quán)限允許APP應(yīng)用拍照以及操作手機圖庫照片,,APP應(yīng)用實現(xiàn)完整信息上傳。

  在手機客戶端定義InformToServer類,,利用HTTP的POST請求方法實現(xiàn)客戶端與服務(wù)器之間的數(shù)據(jù)傳輸,。訪問服務(wù)端Web Service接口的方法如下:HttpPost httpPost = new HttpPost(urlAddress)創(chuàng)建POST請求方法,并且在List<NameValuePair> params 數(shù)組中附加上傳手機服務(wù)端數(shù)據(jù),,最后使用httpPost.setEntity(new UrlEncodedFormEntity(para))方法將數(shù)據(jù)上傳至手機服務(wù)端,。手機服務(wù)端使用request.getParameter()方法獲得數(shù)據(jù)并對數(shù)據(jù)進行處理存入數(shù)據(jù)庫。最后手機客戶端使用ht.getEntity()方法獲得手機服務(wù)端反饋,。

  在手機客戶端創(chuàng)建基于JAXWS的InformActivity客戶端類,,在手機服務(wù)端創(chuàng)建基于JAXWS的Upload服務(wù)端類,實現(xiàn)WSDL對Web Service接口的定義,。手機客戶端通過訪問手機服務(wù)端指定Web Service的wsdlURL(訪問路徑)和QName(命名空間)完成圖片信息的上傳,。

  2.1.2情報模塊后臺管理端實現(xiàn)

  該模塊后臺管理端將實時監(jiān)聽手機端上傳情報信息條數(shù),提醒管理員系統(tǒng)中存在未處理情報,。

  點擊主界面“情報管理”按鈕,,通過mysql.mySqlCommand.ExecuteReader()方法訪問數(shù)據(jù)庫,,將返回的數(shù)據(jù)在ListView控件中顯示。管理員可以按照指定日期的時間段,、所屬機構(gòu)以及情報信息狀態(tài)查詢情報內(nèi)容,。管理員根據(jù)上傳的情報內(nèi)容做出正確處理措施并將以指令方式下達給APP用戶,通過new Order(order_ID, inform_ID)方法跳轉(zhuǎn)到指令下發(fā)界面進行下發(fā)操作,。

  2.2指令模塊

  該模塊中手機客戶端主動向手機服務(wù)端請求查詢后臺管理端下發(fā)的指令信息,,后臺下發(fā)的指令內(nèi)容插入MySQL數(shù)據(jù)庫中,手機服務(wù)端訪問數(shù)據(jù)庫,,將數(shù)據(jù)反饋給手機客戶端,,利用ListView控件將信息顯示在APP界面上,并根據(jù)指令信息進行情報反饋,。

  2.2.1指令模塊手機端實現(xiàn)

  點擊APP應(yīng)用主界面的“新指令”按鈕,,使用HTTP的POST請求訪問手機服務(wù)端的Web Service接口。手機服務(wù)端反饋數(shù)據(jù)較多,,將采用JSON數(shù)組形式進行返回,。首先將從數(shù)據(jù)庫中獲得的數(shù)據(jù)以鍵值對的方式存入HashMap散列表中,接著調(diào)用JSONObject類將HashMap對象轉(zhuǎn)成Jason數(shù)組反饋給手機客戶端,。手機客戶端以Jason格式接收數(shù)據(jù)再進行處理,。

  APP主界面中將實時顯示未讀指令條數(shù),提醒APP用戶及時查看新指令并對指令進行反饋,。該功能將在手機客戶端設(shè)置一個定時任務(wù),,不斷輪詢手機服務(wù)端得到最新數(shù)據(jù)[7],實現(xiàn)方法如下:Timer timer = new Timer()創(chuàng)建定時器,,TimerTask task = new TimerTask()創(chuàng)建執(zhí)行任務(wù),,利用timer.schedule(task, 0, 3000)執(zhí)行定時任務(wù)。

  2.2.2指令模塊后臺管理端實現(xiàn)

  后臺管理端的指令功能包括指令管理和指令模板兩個模塊,。指令管理即為管理員下達新指令,,指令模板將日常事件生成樣板,在下達新指令時選擇即可,。模塊內(nèi)容可根據(jù)日期,、狀態(tài)或者標題進行查詢,同時可完成新建與刪除操作,。后臺管理端指令下發(fā)流程如圖3所示,。

004.jpg

  2.3視頻圖傳模塊

  該模塊中手機客戶端將直接與后臺管理端進行網(wǎng)絡(luò)連接完成視頻通話[8],此通信方式實現(xiàn)了視頻傳輸實時性高,、傳輸效率高等,。情報管理系統(tǒng)可實現(xiàn)多個手機客戶端與后臺管理端通話,同時進行多個場景的視頻監(jiān)控。手機客戶端與后臺管理端交互的數(shù)據(jù)流向如圖2虛線標識部分所示,。該模塊采用傳輸控制協(xié)議[9](Transmission Control Protocol,,TCP)協(xié)議建立連接實現(xiàn)Socket通信。

 ?。?)手機客戶端視頻請求

  Socket通信前對APP應(yīng)用中視頻通話的視頻質(zhì)量進行設(shè)置。首先在程序中申明調(diào)用使用手機攝像頭拍照權(quán)限對攝像頭進行初始化,,設(shè)置視頻寬度,、視頻高度等影響視頻質(zhì)量因素的值。完成視頻通話準備工作后新開線程建立TCP連接,,實現(xiàn)方法如下:client=new Socket(serverUrl,serverPort)定義MyThread對象方法,,Thread th = new MyThread()實例化MyThread對象,th.start()執(zhí)行連接請求,。

 ?。?)后臺管理端接收請求并存儲視頻

  后臺管理端接收來自手機客戶端的TCP請求,點擊打開視頻播放器實現(xiàn)與手機用戶視頻通話,,在視頻通話結(jié)束后將視頻存入FTP服務(wù)器并在數(shù)據(jù)庫中寫入視頻存放地址,,以便回放歷史視頻查看。為了完成多個場景下視頻監(jiān)控,,后臺管理端同時開啟多個Socket線程接收手機客戶端的視頻請求,。實現(xiàn)方法如下:

  實例化名SocketServer對象,名為server;

  調(diào)用server對象的接入函數(shù),,數(shù)據(jù)流接收函數(shù),,中斷函數(shù);

  開始監(jiān)聽server對象,;

 ?。?)后臺管理端視頻回放

  每次視頻通話結(jié)束后臺管理端會將視頻存入FTP服務(wù)器,訪問數(shù)據(jù)庫得到視頻存儲地址對視頻進行回放,,為事件處理提供有利證據(jù),。系統(tǒng)需要在指定管理員身份下查看相關(guān)視頻錄像。該功能的偽代碼如下:

  獲得歷史視頻存儲地址lvi,;

  實例化名為vlc的視頻播放對象,;

  設(shè)置vlc的名稱:lvi.SubItems[3].Text;

  開始播放視頻;

3系統(tǒng)功能測試

  系統(tǒng)手機服務(wù)端由MyEclipse,、Tomcat,、JDK、MySQL開發(fā)完成,,手機客戶端由Eclipse,、JDK、Android SDK、ADT開發(fā)完成,,后臺管理端由Visual Studio開發(fā)完成,。基于系統(tǒng)開發(fā)環(huán)境以及系統(tǒng)框架的設(shè)計,,首先在xampp中開啟MySQL服務(wù),,其次打開系統(tǒng)后臺管理端可執(zhí)行文件,并在MyEclipse軟件中啟動Tomcat服務(wù)器開啟系統(tǒng)手機服務(wù)端,,為手機客戶端提供可訪問Web Service接口,。最后將情報管理系統(tǒng)手機APP的安裝文件apk安裝到Android手機終端,進行系統(tǒng)測試,。

  (1)系統(tǒng)主界面

  系統(tǒng)主界面的呈現(xiàn)方式對于用戶體驗是至關(guān)重要的,,簡單大方的UI設(shè)計方便用戶快速定位到所需功能。在手機端和后臺管理端的主界面都直接設(shè)置了系統(tǒng)功能模塊按鈕,,用戶點擊按鈕即可跳轉(zhuǎn)對應(yīng)功能模塊,,進入系統(tǒng)主界面流程如圖4所示。

 

005.jpg

  (2)情報和指令模塊

  情報模塊和指令模塊是相互關(guān)聯(lián)的功能模塊,。手機客戶端采集情報上傳,,后臺管理端根據(jù)情報信息下發(fā)處理指令,手機端對指令信息進行情報反饋,,因此情報與指令模塊測試一起進行,。進入模塊流程如圖5所示。

006.jpg

  (3)視頻圖傳模塊

  視頻圖傳是系統(tǒng)開發(fā)的核心,,要求視頻清晰,,對該模塊進行測試。APP應(yīng)用接入網(wǎng)絡(luò)并調(diào)用手機攝像頭進行視頻錄入與后臺管理端進行Socket連接完成實時通話,,視頻通話流程如圖6所示,。

  

007.jpg

4結(jié)論

  情報管理系統(tǒng)應(yīng)用解決了傳統(tǒng)行業(yè)中的信息滯留問題,同時將隨身攜帶的手機變成監(jiān)控點,、定位點,,節(jié)約了不少設(shè)備資金。這樣的系統(tǒng)取代了傳統(tǒng)行業(yè)中的情報信息處理方式,,隨時隨地采集信息,,實時上傳,及時處理,。此外,,系統(tǒng)還需要進一步完善,做到Android手機端之間的信息共享,。

參考文獻

 ?。?] 寧家駿.“互聯(lián)網(wǎng)+”行動計劃的實施背景、內(nèi)涵及主要內(nèi)容[J]. 電子政務(wù), 2015(6):32-38.

  [2] LEE J K, LEE J Y. Android programming techniques for improving performance[C]. 2011 3rd International Conference on Awareness Science and Technology (ICAST2011), 2011:386389.[3] CABRAL S K. MySQL 5.5: improving on the world’s most popular open source database[J]. Database Trends and Applications, 2011, 25(3):30.

 ?。?] 陳俊斌.C/S與B/S結(jié)合的軟件體系結(jié)構(gòu)[J]. 電子技術(shù)與軟件工程,,2015(3):68-69.

  [5] 王海燕.C#.NET下三層架構(gòu)數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)[J]. 計算機技術(shù)與發(fā)展,2012,,22(6):78-81.

 ?。?] 彭邦倫.利用JAX—WS開發(fā)Web Service[J]. 電腦編程技巧與維護, 2008(12):21-23.

 ?。?] 倪紅軍.基于Android平臺的消息推送研究與實現(xiàn)[J]. 實驗室研究與探索,, 2014,33(5):99-100.

 ?。?] 鄧蕊.基于Android的視頻監(jiān)控的研究與實現(xiàn)[D]. 西安:西安電子科技大學(xué),2012.

 ?。?] Xiong Yonghua, Wu Min, Jia Weijia. Delay prediction for realtime video adaptive transmisson over TCP[J]. Journal of Multimedia, 2010,5(3):216-223.


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