999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Android系統(tǒng)的避難場所查詢軟件開發(fā)*

2014-12-07 06:19:10趙士達
電子技術(shù)應(yīng)用 2014年3期
關(guān)鍵詞:百度設(shè)計

趙士達,張 楠,楊 爽

(天津市地震局,天津 300201)

近年來,全球地震災(zāi)害多發(fā),給人類造成巨大損失。應(yīng)急避難場所是應(yīng)對突發(fā)公共事件的一項災(zāi)民安置措施,是現(xiàn)代化大城市用于民眾躲避地震、火災(zāi)、爆炸、洪水、疫情等重大突發(fā)公共事件的安全避難場所[1]。應(yīng)急避難場所具有應(yīng)急避難指揮中心、獨立供電系統(tǒng)、應(yīng)急直升機停機坪、應(yīng)急消防措施、應(yīng)急避難疏散區(qū)、應(yīng)急供水等11種應(yīng)急避險功能,形成了一個集通信、電力、物流、人流、信息流等為一體的完整網(wǎng)絡(luò)。

隨著移動通信技術(shù)的快速發(fā)展和Android智能終端的迅速普及,人們對信息的獲取有了更高的要求[2]。開發(fā)一款基于Android系統(tǒng)的應(yīng)急避難場所的軟件顯得非常必要。Android系統(tǒng)是谷歌公司推出的一套智能開源手機平臺,由操作系統(tǒng)、中間件、用戶友好界面和應(yīng)用軟件組成[3]。

應(yīng)急避難場所查詢涉及到每個避難場所的位置信息,而百度LBS云服務(wù)可以解決這一問題。LBS云是百度地圖針對LBS開發(fā)者推出的平臺級服務(wù),結(jié)合已有的地圖API和SDK服務(wù),通過開放服務(wù)端存儲和計算能力,提供海量位置數(shù)據(jù)存儲、檢索及展示一體化解決方案[4]。

本文針對Android系統(tǒng),使用百度地圖 Android SDK、定位API和LBS云服務(wù)開發(fā)了一款可以篩選、定位、地圖顯示和周邊檢索的應(yīng)急避難場所查詢軟件。

1 總體設(shè)計方案

1.1 Android開發(fā)介紹

Android是以Linux為核心的開放源碼操作系統(tǒng),可以運行在手機、平板電腦、GPS、播發(fā)器等各種手持終端上[5-6]。

Android主流的開發(fā)環(huán)境是Java,開發(fā)平臺是Eclipse(一種基于 Java的開源、可擴展平臺)。Eclipse安裝安卓開發(fā)工具ADT(Android Development Tools)后即可直接使用Android的軟件開發(fā)工具包SDK(Software Development Kit)。同時SDK還提供可視化的模擬器,以及Dalvik虛擬機調(diào)試監(jiān)控服務(wù)(DDMS)工具,用于實時查看軟件運行情況及本件管理、截屏等操作[7-8]。本文的軟件就在以上基礎(chǔ)上開發(fā)調(diào)試,并最終在手機終端上通過測試。

1.2 百度地圖Android SDK簡介

百度地圖Android SDK是一套基于Android 2.1(v1.3.5及以前版本支持Android 1.5以上系統(tǒng))及以上版本設(shè)備的應(yīng)用程序接口,可適用于Android系統(tǒng)移動設(shè)備的地圖應(yīng)用。通過調(diào)用地圖SDK接口,可以輕松訪問百度地圖服務(wù)和數(shù)據(jù),構(gòu)建功能豐富、交互性強的地圖類應(yīng)用程序。

1.3 百度定位 SDK簡介

LBS(Location Based Service)是互聯(lián)網(wǎng)時代的熱點,在本地搜索、定向廣告、社交網(wǎng)絡(luò)等眾多領(lǐng)域得到了廣泛應(yīng)用。其核心基礎(chǔ)就是定位能力,為各類應(yīng)用提供位置信息。百度移動定位API是一個提供基礎(chǔ)定位API的第三方平臺,為各類應(yīng)用提供定位能力,提升用戶體驗。目前百度定位SDK支持Android平臺的免費使用。

1.4 百度LBS云簡介

LBS云是百度地圖針對LBS開發(fā)者推出的平臺級服務(wù),結(jié)合已有的地圖API和SDK服務(wù),通過開放服務(wù)端存儲和計算能力,提供海量位置數(shù)據(jù)存儲、檢索、展示一體化解決方案。LBS云包括云存儲和云檢索兩個部分。

LBS云有三個基本概念,分別是位置數(shù)據(jù)表(geotable)、自定義擴展列(column)和位置數(shù)據(jù)(poi)。位置數(shù)據(jù)表是百度LBS云提供給開發(fā)者自定義存儲位置數(shù)據(jù)的集合,類似于常見數(shù)據(jù)庫的一個表,不僅支持點線面結(jié)構(gòu)還支持用戶自定義結(jié)構(gòu)。自定義擴展列是開發(fā)者在創(chuàng)建的位置數(shù)據(jù)表基礎(chǔ)上根據(jù)自己的應(yīng)用場景自定義擴展的列,類似于常見數(shù)據(jù)表的一個列。位置數(shù)據(jù)即為開發(fā)者在定義好屬性和擴展列的位置數(shù)據(jù)表中帶有位置屬性的業(yè)務(wù)數(shù)據(jù)記錄,類似于常見數(shù)據(jù)表下的一條記錄。

1.5 避難場所查詢軟件設(shè)計方案

圖1 軟件設(shè)計流程圖

首先需要將所有的避難場所位置及相關(guān)信息存儲到百度LBS云中,軟件查詢避難場所的過程其實就是對已存儲信息的云端進行檢索的過程。云檢索必須在有網(wǎng)絡(luò)的條件下進行,所以當(dāng)沒有無線網(wǎng)絡(luò)時需要打開手機自身的移動網(wǎng)絡(luò)。如圖1所示,當(dāng)檢測到可用網(wǎng)絡(luò)后要劃分網(wǎng)絡(luò)類型,因為不同網(wǎng)絡(luò)的接口設(shè)置不同。通過百度定位API對終端用戶當(dāng)前所在位置進行定位。通過云檢索將云端的避難場所信息調(diào)出并計算避難場所與當(dāng)前位置的距離。軟件有兩種工作模式:一種是篩選模式,另一種是附近模式。在篩選模式下可以按照行政區(qū)、避難場所分類和關(guān)鍵字檢索對避難場所進行查找;在附近模式可以按照距離查找當(dāng)前位置周邊的避難場所。

2 軟件設(shè)計

系統(tǒng)分為2個數(shù)據(jù)包(package),一個是com.bd.lbs.yj用來完成軟件的主體功能;另一個是com,bd.lbs.api用來完成百度定位、云檢索和百度地圖顯示等功能。這2個數(shù)據(jù)包共包括了7個程序模塊,如圖2所示。

圖2 軟件程序的主體結(jié)構(gòu)

2.1 ContentModel模塊設(shè)計

ContentModel類用來定義列表內(nèi)容,包括避難場所的名稱、地址、類型、避難場所與當(dāng)前設(shè)備的距離、圖片外連接地址、專題頁地址、經(jīng)度和緯度。此外該類還定義了獲取這些信息的成員函數(shù)。

2.2 LBSListActivity模塊設(shè)計

LBSListActivity類繼承了ListActivity類并實現(xiàn)了對OnScrollListener的接口。實現(xiàn)了列表顯示,同時還監(jiān)控焦點是否為列表最后一行。本文的列表頁為單頁10條列表,當(dāng)頁面翻滾到最后一行時點擊“讀取更多”按鈕,即可再打開10條列表。

要在列表底部添加“讀取更多”按鈕并顯示讀取的進度就要在重寫父類Activity時添加 “讀取更多(load-MoreView)”按鈕和進度條(progressBar)的 layout設(shè)置。

本設(shè)計需要在列表中顯示每個避難場所的照片,這些照片被保存在網(wǎng)絡(luò)相冊中,系統(tǒng)解析網(wǎng)絡(luò)照片地址并將照片轉(zhuǎn)換為Bit圖片顯示。這個過程通過get-BitmapFromUrl函數(shù)來完成。該函數(shù)首先建立與網(wǎng)絡(luò)相冊的連接,接收來自相冊的數(shù)據(jù)流并將全部數(shù)據(jù)流保存在緩存中,最后將緩存中的數(shù)據(jù)重新編碼成比特圖片。

2.3 DApplication模塊設(shè)計

Android中的Application類是為了需要保存全局變量而設(shè)計的基本類,該類在package創(chuàng)建時就存在。程序中的DApplication類是從Application類繼承下來的,用于保存本設(shè)計的全局變量。

本設(shè)計中的百度地圖SDK使用ak驗證和網(wǎng)絡(luò)類型的劃分也是在DApplication類中完成的。網(wǎng)絡(luò)類型主要分為中國移動CMWAP、中國聯(lián)通UNIWAP、中國電信CTWAP和3G網(wǎng)絡(luò)3GWAP。

2.4 MainActivity模塊設(shè)計

MainActivity 類主要完成可用網(wǎng)絡(luò)的檢測、篩選/附近模式的切換,地圖/列表模式的切換和篩選按鈕功能的實現(xiàn)。

篩選/附近模式的切換通過ToggleButton按鈕實現(xiàn),地圖/列表模式的切換通過getTabHost函數(shù)來完成,各種篩選條件通過設(shè)置Spinner控件來完成。

2.5 LBSLocation模塊設(shè)計

LBSLocation類主要完成終端的定位功能。編寫這個類需要用到百度定位API,所以在該文件前添加如下程序來導(dǎo)入百度程序包:

首先要在啟動定位函數(shù)中配置定位信息,將定位經(jīng)緯度設(shè)置為百度經(jīng)緯度。然后編寫定位監(jiān)聽函數(shù)并實現(xiàn)對百度定位監(jiān)聽函數(shù)的接口。在定位監(jiān)聽函數(shù)中實現(xiàn)定位并計算當(dāng)前位置與每個避難場所的距離。

2.6 LBSCloud Search模塊設(shè)計

LBSCloudSearch類通過http post方式訪問百度云,利用百度云檢索API查找百度云存儲數(shù)據(jù),返回JSON數(shù)據(jù)供移動應(yīng)用顯示。

云檢索前需要做好兩項準(zhǔn)備工作:(1)根據(jù)劃分的網(wǎng)絡(luò)類型進行網(wǎng)絡(luò)接口配置;(2)設(shè)置百度云的databox及對應(yīng)ak的校驗。

2.7 LBSMap Activity模塊設(shè)計

LBSMapActivity類主要用于實現(xiàn)百度地圖的顯示功能。編寫這個類需要用到百度定位API,所以在該文件前添加以下程序來導(dǎo)入百度程序包:

程序中使用initMapView()函數(shù)來完成初始化地圖,包括設(shè)置地圖中心坐標(biāo)、地圖縮放參數(shù)和地圖控制控件等。使用 addAllMarker()和 removeAllMarker()兩個函數(shù),實現(xiàn)在地圖中添加避難場所位置麻點和刪除這些麻點。

在LBSMapActivity類中定義了MyGeneralListener和OverlayIcon兩個類,分別用于監(jiān)控網(wǎng)絡(luò)和定義麻點樣式。

3 軟件測試

3.1 云存儲

百度云存儲接口支持單個geotable億級數(shù)據(jù)及數(shù)百GB大小的存儲,每天支持百萬量級讀寫,每秒支持萬量級讀寫,完全滿足本設(shè)計的需求。在進行軟件測試前,通過批量上傳的方式將應(yīng)急避難場所的信息存到百度云端。除了百度云自帶的字段外還需要自定義擴展字段image、type和 shelterurl。其中 image為 string類型,用來存儲展示在終端的避難場所圖片地址;type為double類型,用來區(qū)分避難場所類型;shelterurl為string類型,用來存儲避難場所專輯頁面地址。

3.2 手機測試

軟件通過Android SDK模擬器仿真后進入到手機實物測試,本次測試所用的手機為華為G520。手機測試步驟為:

(1)檢測在無網(wǎng)絡(luò)情況下程序是否退出;

(2)在無線 WiFi網(wǎng)絡(luò)下,打開程序在列表模式下瀏覽避難場所列表,檢查列表中的避難場所能否與百度云端存儲的數(shù)據(jù)對應(yīng);

(3)檢查列表中的內(nèi)容和圖片是否與設(shè)計一致,列表中的定位以及距離計算是否準(zhǔn)確;

(4)按照行政區(qū)和避難場所分類逐一進行篩選測試,檢測篩選是否有誤;

(5)切換到周邊模式進行周邊檢索,檢查周邊檢索是否準(zhǔn)確;

(6)將列表模式切換到地圖模式,檢查地圖上麻點能否與列表對應(yīng);

(7)將 WiFi網(wǎng)絡(luò)換成 GSM網(wǎng)絡(luò),重復(fù)步驟(2)~步驟(6)進行檢測。

經(jīng)過上述測試,應(yīng)急避難場所查詢軟件所有功能工作正常,達到了預(yù)期目標(biāo)。圖3、圖4為篩選模式和附近模式下列表/地圖的測試照片。

本文設(shè)計了一個基于Android操作系統(tǒng)的應(yīng)急避難場所查詢方案,實現(xiàn)了對應(yīng)急避難場所的查詢、篩選和地圖展示等功能。本設(shè)計的創(chuàng)新點是使用了百度LBS云技術(shù),將避難場所的位置信息存儲到百度云端,并通過云檢索獲取信息。與傳統(tǒng)方式相比省去了架設(shè)服務(wù)器保存信息和維護信息的開銷。同時使用百度地圖API和定位API,將定位所得到的百度經(jīng)緯度和避難場所的經(jīng)緯度顯示在百度地圖上。手機測試結(jié)果表明,本設(shè)計完成了預(yù)期的全部功能。

[1]趙士達,張楠,楊爽.地震時人口疏散模型研究[J].軟件導(dǎo)刊,2013(5):6-8.

圖3 篩選模式下的測試照片

圖4 附近模式下的測試照片

[2]馬志強.基于Android平臺即時通信系統(tǒng)的設(shè)計與實現(xiàn)[D].北京:北京交通大學(xué),2009.

[3]李寧.Android應(yīng)用開發(fā)實戰(zhàn)[M].北京:機械工業(yè)出版社,2012.

[4]豆瑞星.百度成立 LBS事業(yè)部[J].互聯(lián)網(wǎng)周刊,2012,11(21):56-57.

[5]鄭云卿,黃琦.基于 Android平臺的軟件自動化監(jiān)控工具的設(shè)計開發(fā)[J].計算機應(yīng)用與軟件,2013,30(2):235-238.

[6]彭璇,吳肖.Google Map API在網(wǎng)絡(luò)地圖服務(wù)中的應(yīng)用[J].測繪信息與工程,2010,35(1):25-27.

[7]BURNETTE E.Hello,Android:introducing google’s mobile development platform[M].American Pragmatic Bookshelf,2009.

[8]江燕良.基于Android智能終端的遠程控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(8):129-132.

猜你喜歡
百度設(shè)計
Robust adaptive UKF based on SVR for inertial based integrated navigation
瞞天過?!律O(shè)計萌到家
百度年度熱搜榜
青年與社會(2018年2期)2018-01-25 15:37:06
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
百度遭投行下調(diào)評級
IT時代周刊(2015年8期)2015-11-11 05:50:22
百度“放衛(wèi)星”,有沒有可能?
太空探索(2014年4期)2014-07-19 10:08:58
設(shè)計之味
舒適廣告(2008年9期)2008-09-22 10:02:48
主站蜘蛛池模板: 亚洲全网成人资源在线观看| 国产精品第5页| 欧美精品v日韩精品v国产精品| 成年人免费国产视频| 老司机精品99在线播放| 国产第一页亚洲| 99视频精品全国免费品| 日韩中文精品亚洲第三区| 国产91丝袜在线播放动漫| 国产精品尹人在线观看| 夜夜高潮夜夜爽国产伦精品| 波多野结衣一区二区三视频| 五月激激激综合网色播免费| 欧美国产日韩一区二区三区精品影视| 2021国产精品自产拍在线观看| 国产福利一区视频| 色哟哟国产精品一区二区| 免费看黄片一区二区三区| 精品无码一区二区三区电影| 极品私人尤物在线精品首页 | 国产青榴视频在线观看网站| 亚洲无码久久久久| 亚洲成年人片| 色偷偷综合网| 无码精油按摩潮喷在线播放 | 国产精品一区不卡| 园内精品自拍视频在线播放| 国产精品久久久久久久久| 国产无码高清视频不卡| 高清无码不卡视频| 成人欧美日韩| 一本大道无码高清| 香蕉网久久| 久久这里只有精品2| Jizz国产色系免费| 亚洲毛片网站| 91在线高清视频| 青青草原国产免费av观看| 亚洲无码精彩视频在线观看 | 成人国产小视频| 精品视频一区在线观看| 中文字幕欧美日韩| 999精品色在线观看| 国产成人精品高清不卡在线| 亚洲资源站av无码网址| 丰满人妻久久中文字幕| 国产女人18水真多毛片18精品| 国产91九色在线播放| 亚洲三级片在线看| 久久精品人妻中文系列| 欧美成人精品一区二区| 亚洲成人精品| 精品自窥自偷在线看| 在线人成精品免费视频| 成人免费黄色小视频| 网久久综合| 真实国产乱子伦高清| 福利在线不卡一区| 欧美三級片黃色三級片黃色1| www精品久久| 久久这里只有精品2| 精品撒尿视频一区二区三区| 国产情精品嫩草影院88av| 欧美另类第一页| 色婷婷综合激情视频免费看| 毛片视频网址| 国产亚洲精品资源在线26u| 成年免费在线观看| 欧美一区二区福利视频| 刘亦菲一区二区在线观看| 亚洲视频无码| 国产午夜精品一区二区三| 亚洲婷婷丁香| 国产在线日本| 四虎国产精品永久在线网址| 一级一毛片a级毛片| 99精品免费欧美成人小视频| 人妻丝袜无码视频| 午夜a视频| 国产精品漂亮美女在线观看| 国产欧美日韩精品综合在线| 98超碰在线观看|