亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2014-12-07 06:19:10趙士達(dá)
        電子技術(shù)應(yīng)用 2014年3期
        關(guān)鍵詞:列表場所百度

        趙士達(dá),張 楠,楊 爽

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

        要在列表底部添加“讀取更多”按鈕并顯示讀取的進(jìn)度就要在重寫父類Activity時添加 “讀取更多(load-MoreView)”按鈕和進(jìn)度條(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ò)類型進(jìn)行網(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è)計的需求。在進(jìn)行軟件測試前,通過批量上傳的方式將應(yīng)急避難場所的信息存到百度云端。除了百度云自帶的字段外還需要自定義擴展字段image、type和 shelterurl。其中 image為 string類型,用來存儲展示在終端的避難場所圖片地址;type為double類型,用來區(qū)分避難場所類型;shelterurl為string類型,用來存儲避難場所專輯頁面地址。

        3.2 手機測試

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

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

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

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

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

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

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

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

        經(jīng)過上述測試,應(yīng)急避難場所查詢軟件所有功能工作正常,達(dá)到了預(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]趙士達(dá),張楠,楊爽.地震時人口疏散模型研究[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智能終端的遠(yuǎn)程控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(8):129-132.

        猜你喜歡
        列表場所百度
        巧用列表來推理
        學(xué)習(xí)運用列表法
        聽的場所
        2020年5月全市場發(fā)行情況(按托管場所)
        債券(2020年6期)2020-07-06 03:36:00
        Robust adaptive UKF based on SVR for inertial based integrated navigation
        擴列吧
        遠(yuǎn)離不良場所
        百度年度熱搜榜
        青年與社會(2018年2期)2018-01-25 15:37:06
        戀愛場所的變化
        百度遭投行下調(diào)評級
        IT時代周刊(2015年8期)2015-11-11 05:50:22
        国产一区二区三区成人| 无遮挡网站| 久久亚洲AV无码一区二区综合| 亚洲国产精品一区二区| 妃光莉中文字幕一区二区| 国产午夜精品一区二区三区嫩草| 久青草国产在线观看| 日韩有码中文字幕第一页| 91精品欧美综合在线观看| 天堂麻豆精品在线观看| 欧美男生射精高潮视频网站| 女人被爽到呻吟gif动态图视看 | 亚洲精品中文字幕熟女| 精品综合久久88少妇激情| 国产av国片精品jk制服| 无遮挡边吃摸边吃奶边做| 日韩无码尤物视频| 在线观看免费的黄片小视频| 日韩无码专区| 国产精品成人aaaaa网站| 久久综合第一页无码| 久久老子午夜精品无码| 国产精品高清亚洲精品| 视频在线国产一区二区 | 特级毛片a级毛片免费播放| 中文字幕一区二区三区日韩网| 国产色视频一区二区三区不卡| 无码爆乳护士让我爽| 1000部精品久久久久久久久| 国产精品自在在线午夜出白浆| 国产亚洲精品精品综合伦理| 把女邻居弄到潮喷的性经历| 国产一区a| 亚洲综合中文一区二区| 很黄很色很污18禁免费| 国产剧情av麻豆香蕉精品| 一区二区三区婷婷中文字幕| 国产亚洲人成在线观看| 国产真实偷乱视频| 久久精品国产亚洲vr| 亚洲av乱码国产精品观看麻豆|