?

基于Android的一鍵智能報警系統設計與實現 

2016-11-07 18:38徐紅江錢宇豪朱晶晶沈微微
軟件導刊 2016年9期
關鍵詞:移動互聯網

徐紅江++錢宇豪++朱晶晶++沈微微++劉杰

摘要:針對電話報警不及時、不可靠的問題,設計開發了一款基于Android的一鍵智能報警系統。移動互聯網應用廣泛,智能手機已普及,Android系統占比很大。在Android終端采用多模式融合的定位方法,實現了警民瞬時聯動的安防體系。

關鍵詞:移動互聯網;智能定位;一鍵報警;Android

DOIDOI:10.11907/rjdk.161618

中圖分類號:TP319

文獻標識碼:A文章編號文章編號:16727800(2016)009007903

基金項目基金項目:2016年宿遷學院大學生創新訓練項目(2016);宿遷市科技計劃項目(S201410,Z201445)

作者簡介作者簡介:徐紅江(1993-),男,江蘇鹽城人,宿遷學院信息工程學院學生,研究方向為Android應用開發;錢宇豪(1993-),男,江蘇蘇州人,宿遷學院信息工程學院學生,研究方向為Android應用開發;朱晶晶(1995-),女,江蘇泰州人,宿遷學院信息工程學院學生,研究方向為UI設計;沈微微(1983-),女,江蘇宿遷人,碩士,宿遷學院信息工程學院講師,研究方向為圖像處理、模式識別、數據挖掘;劉杰(1981-),男,江蘇揚州人,碩士,宿遷學院信息工程學院講師,研究方向為計算機軟件及應用、物聯網、移動互聯網絡。

0引言

安全事故是一個嚴重的社會問題。根據相關數據分析,這方面主要問題有:①報警不及時,錯過最佳救援時機,受害人不能得到及時救助;②案發地點隨機,無法及時有效獲取事發地的位置信息,救援不能及時響應[13]。

本文設計開發了一款基于Android的一鍵智能報警系統,不僅簡化了報警流程,而且具有自動定位功能,文字、圖片、視頻等信息可一鍵上傳,在一定程度上避免了報警不及時、不可靠的弊端。接警終端通過手機可以直觀顯示報警地點,民警可通過手機路線導航出警,可達到快速出警要求。

1系統總體結構設計

本系統由Android報警客戶端、Android接警客戶端和接警后臺3部分組成。當用戶遇到危險時,使用報警手機客戶端自動定位,選擇報警類型與等級,點擊短信、照片、錄音或視頻報警中的一種,系統自動通過網絡發送信息給接警中心,服務器與接警客戶端同步監聽并接收報警信息。警務人員在接警客戶端可快捷查看報警信息、出事地點位置及導航路線。系統總體結構設計如圖1所示。

2報警系統關鍵技術分析

2.1系統實時性

報警系統對數據發送和接收的實時性、準確性要求很高,本系統設計采用多線程機制,保證各子模塊及時并行完成任務,采用Android自帶v4包里的SwipeRefreshLayout類實現下拉刷新。報警客戶端包括GPS定位線程、發送短信線程及數據上傳線程。本系統采用移動網輔助GPS定位技術,定位時間受網絡環境和信號強度的影響,在網絡和信號環境差的情況下,定位時間較長[45]。為防止定位未成功前,系統發送短信或上傳信息到服務器造成定位信息錯誤,需要對發送短信線程和數據上傳線程進行延時操作。

2.2定位及導航技術

系統定位導航采用GPS、WiFi、基站等多種定位方式的百度地圖API,實現在報警端多模式融合定位,也可在接警端地圖定位、路徑規劃和導航,符合一鍵式智能報警系統需求。

使用百度地圖API,需要申請百度地圖API Key,否則無法獲取經度、緯度、當前所在位置的城區以及街道等信息[6]。此外,API中的駕車導航必須打開GPS才能正常使用。百度地圖Android定位SDK參數如表1所示。

2.3短信報警

本文調用系統短信接口發送短信,在程序內部將短信內容格式寫好,再根據報警時在APP中所選的信息發送給緊急聯系人和后臺服務器。在APP中調用系統短信接口發送短信,需要在AndroidManifest.xml文件中添加如下代碼:

2.4拍照上傳報警

調用系統相機,使用Surface View自定義取景界面,使用Preview()方法預覽取景畫面進行報警。拍照之前,先通過File類創建圖片保存路徑和保存文件夾,拍照完成后到指定路徑讀取圖片,運用Http Client類相關方法上傳照片,服務器接收保存圖片到指定目錄并將圖片路徑存放到數據庫中。在APP中實現拍攝圖片并保存,需要在AndroidManifest.xml文件中添加如下代碼:

2.5錄音和視頻上傳報警

錄音是實例化MediaRecorder對象之后,調用其setAudioSource方法設置聲音來源、setOutputFormat方法設置輸出音頻格式、setAudioEncoder方法設置音頻文件的編碼等,用參數控制文件的大小、聲音的品質。視頻錄制和音頻錄制步驟一致,不過視頻錄制要顯示采集的圖像,要在聲音來源設置后調用MediaRecorder的setPreviewDisplay方法使用SurfaceView預覽。在APP中實現錄音和拍視頻保存本地,需要在AndroidManifest.xml文件中添加如下代碼:

2.6獲取后臺報警數據

通過Android接警系統與后臺服務器的Http通信獲取后臺報警信息。Android接警系統發送Http請求給后臺,在獲取到后臺返回的JSON數據后解析綁定到應用的控件上顯示。本文使用了KJFrameForAndroid第三方框架中KJHttp的post請求和fastjon第三方框架中的json解析,代碼如下:

//獲取待處理報警信息數據

public void getPendingData() {

KJHttp kjh;

//在獲取數據之前,檢查網絡連接是否正常

if (CheckNet.isNetworkAv(getActivity())) {

mySetVisible(pending_listview);//網絡連接正常顯示待處理報警信息

mySetVisible(data_empty);//網絡連接正常,沒有數據則提示數據為空

mySetGone(network);//網絡連接失敗則顯示網絡有問題

String url = Constant.url + "/AlarmInfoAction";//訪問服務器項目Servlet的路徑

HttpParams params = new HttpParams();

params.put("pageNow", pageNow);//當前頁碼

params.put("pageSize", pageSize);//獲取數據的條數

params.put("param0", "get_pending_alarm_info");//獲取的數據類型

kjh.post(url, params, false, new HttpCallBack() {

@Override

public void onSuccess(String t) {

super.onSuccess(t);

pending_datas = JSON.parseArray(t, AlarmInfo.class);//待處理報警信息,這里使用了FastJson解析 if (pending_datas.isEmpty()) {

data_empty.setVisibility(View.VISIBLE);

} else {

data_empty.setVisibility(View.GONE);

pendingAdapter = new MyAlarmInfoPendingAdp(

pending_listview, pending_datas,

R.layout.item_alarm_info);

pending_listview.setAdapter(pendingAdapter);

}

}

});

} else {

mySetGone(pending_listview);

mySetGone(data_empty);

mySetVisible(network);

}

}

在APP中訪問網絡并創建緩存,需要在AndroidManifest.xml文件中添加如下代碼:

3報警系統設計

3.1報警客戶端設計

報警客戶端設計了報警的一些常見描述,編輯完成后自動保存到本地。當用戶第一次使用APP將基本信息填寫后,登錄到報警界面,再次打開就不用二次登錄。打開系統(用戶允許的情況下)會自動定位,用戶只需選擇報警類型(如車禍、火災等)、報警等級,即可通過短信、照片、錄音、視頻進行一鍵報警。拍照報警工作流程如圖2所示。

短信、錄音、視頻工作流程與拍照類似。另外報警用戶客戶端集成了警報模擬聲功能,當用戶在遇到危險需要求助時點按模擬警報聲,引起周圍人注意,在一定程度上震懾作案人。

3.2接警客戶端設計

民警登錄系統后,報警信息以列表形式展現,第一時間看到當前片區的最新報警情況,點擊列表子選項查看詳情。在詳情界面設計了接警和路徑規劃及導航功能。民警看到緊急警情時,可自行接警以確保事故處理效率。接警流程如圖3所示。

3.3Web后臺管理設計

Web后臺由報警信息管理和警察信息管理組成,主要工作包括查看并匹配待處理信息、查看已處理信息、錄入警察信息、查看警察信息。Web后臺一直運行在服務器上,管理員可實時監聽報警信息。當后端監聽到報警信息時,后臺會有報警提示音,管理員可以查看案情,匹配事發片區內的警察,及時了解案件處理情況。

4系統實現

系統部分實現如圖4、圖5所示。測試結果表明,報警客戶端在網絡正常環境下室內外定位速度均在1s以內,戶外打開GPS報警平均精度達到10m以內,室內報警平均精度達到60m。接警客戶端可以接收處理多條報警信息,詳細信息顯示正常、報警人位置顯示準確、多種路徑規劃線路顯示正常、駕車導航使用正常。

5結語

基于Android的一鍵智能報警系統,結合百度地圖API實現多模式融合定位,運用Android SDK實現短信息發送、拍照、音視頻錄制及存儲,以及上傳文件到接警后臺服務器,將報警端、接警端、后臺服務器3者結合在一起,實現實時通信。系統結構合理、操作簡單、測試效果良好,有效解決了報警人無法提供準確位置的問題,為出警提供了最優路徑規劃,為快速高效處警提供了很好的解決方案。

參考文獻參考文獻:

[1]楊恒,魏丫丫,李彬,等.定位技術[M].北京:電子工業出版社,2013.

[2]肖云濤,歐林林,俞立.基于線性時序邏輯的最優巡回路徑規劃[J].自動化學報,2014(10):21262133.

[3]陳韶飛,張炯,李俊.一種新型反恐防暴機器人的概念化設計[J].廣西科技大學學報,2015(9):6567.

[4]吳麗淳,樊爽.基于安卓平臺的手機定位軟件開發[J].計算機與現代化,2014(9):9598.

[5]劉洺辛,孫建利.基于能效的WLAN室內定位系統模型設計與實現[J].儀器儀表學報,2014(5):11691178.

[6]丁一,金華,李允俊.基于Android與百度地圖的智能報警系統[J].單片機與嵌入式系統應用,2015(3):3942.

責任編輯(責任編輯:杜能鋼)

猜你喜歡
移動互聯網
基于移動互聯網絡環境的MOOC微課程研究
微美學
大數據環境下基于移動客戶端的傳統媒體轉型思路
基于移動互聯網的心理健康教育初探
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合