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

        ?

        基于安卓平臺的便攜式點位勘察系統(tǒng)設計與實現(xiàn)

        2020-04-01 20:15:56周立新郝耀峰龐鈺寧陳思兵朱琳
        計算機與網(wǎng)絡 2020年20期

        周立新 郝耀峰 龐鈺寧 陳思兵 朱琳

        摘要:針對點位勘察時對勘察過程和勘察要素的信息化管理需求,設計了一套基于安卓平臺的便攜式點位勘察系統(tǒng)。從系統(tǒng)總體架構(gòu)和功能構(gòu)成進行了描述,對系統(tǒng)軟件具體實現(xiàn)過程中涉及到的關鍵技術進行了研究,重點包括標簽導航的界面框架、布局動態(tài)加載、LitePal數(shù)據(jù)持久化和第三方應用集成4個方面。應用結(jié)果表明,該系統(tǒng)具有操作便捷、通用性強和擴展性好等特點,對類似的應用開發(fā)具有較好的參考價值。

        關鍵詞:安卓平臺;勘察系統(tǒng);動態(tài)加載;標簽導航;數(shù)據(jù)持久化

        中圖分類號:TP23文獻標志碼:A文章編號:1008-1739(2020)20-63-4

        0引言

        點位勘察是測控選址的一項重要工作,根據(jù)選點要求,勘察實施一般要考慮避雷接地、設備布局、光纖通信、電磁環(huán)境、食宿保障、地理遮擋及場坪標校等要素。整個勘察工作的流程一般包括擬制勘察計劃、準備相關器材、實地點位勘察和形成勘察報告4個過程。點位勘察過程的規(guī)范化和程序化對于勘察工作的具體實施具有指導意義,也更易于利用信息化工具實現(xiàn)勘察過程的信息化管理。本文研究的背景是在已形成的堪點規(guī)范的指導下,研究利用信息化手段實現(xiàn)對堪點過程和堪點要素的信息化管理。由于安卓系統(tǒng)具有開放性以及便捷性等特點[1-3],具有安卓系統(tǒng)的便捷式電子設備體積小、重量輕且具備多個傳感器,滿足便攜式測量和信息管理的需求,因此本文研究基于安卓平臺的便攜式點位勘察系統(tǒng),對系統(tǒng)設計和實現(xiàn)的難點和關鍵技術進行了研究[4-5]。

        1系統(tǒng)設計

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

        系統(tǒng)硬件部分包括電子設備傳感器(GPS接收器、加速度傳感器、磁傳感器、氣壓傳感器、重力傳感器等)和便攜式測量工具(激光測距儀器、全站儀、水平儀、卡片機、米尺等),主要進行實地點位信息采集;軟件部分采用SQLite數(shù)據(jù)庫+安卓平臺開發(fā)的方式,主要用于將采集到的信息進行存儲、統(tǒng)計和顯示,并能夠?qū)τ布鞲衅餍畔⑼ㄟ^軟件實現(xiàn)電子測量功能,系統(tǒng)總體架構(gòu)如圖1所示。

        1.2系統(tǒng)功能結(jié)構(gòu)

        系統(tǒng)功能主要包括基礎數(shù)據(jù)采集、數(shù)據(jù)存儲統(tǒng)計和展示、基于地圖服務的線路規(guī)劃導航、堪點流程的展示和勘察常用工具箱等功能,如圖2所示。其中基礎數(shù)據(jù)的采集主要實現(xiàn)各類傳感器和便攜式測量工具對實地點位勘察數(shù)據(jù)的采集;數(shù)據(jù)的存儲統(tǒng)計和顯示功能主要完成對采集到的點位信息(包括場坪情況、標校情況、環(huán)境情況等)進行存儲(包括增刪改查)、統(tǒng)計和顯示;基于地圖服務的線路規(guī)劃導航功能主要實現(xiàn)堪點線路規(guī)劃、交通查詢導航等;堪點流程展示功能主要實現(xiàn)對堪察過程和勘察要素的可視化顯示,可方便人員對關鍵要素進行查詢;勘察常用工具箱主要包括:坐標轉(zhuǎn)換、經(jīng)緯高度測量、指南針工具、水平儀工具、放大鏡工具、溫濕壓測量及電子鉛垂等,主要用來輔助進行點位勘察。

        2系統(tǒng)實現(xiàn)

        系統(tǒng)App實現(xiàn)過程中涉及到的關鍵技術包括標簽導航的界面框架設計、布局動態(tài)加載技術、第三方應用集成技術和LitePal數(shù)據(jù)持久化技術。

        2.1標簽導航的界面框架

        為了對軟件眾多功能模塊進行層次化管理和快速訪問,設計了基于標簽導航的界面框架,如圖3所示。

        頂部顯示頁面標題,中間顯示頁面內(nèi)容,底部通過導航標簽進行跳轉(zhuǎn)。實現(xiàn)的關鍵步驟如下:

        (1)頁面布局設計

        外層布局采用LineLayout;內(nèi)部布局采用LineLayout,其中標題采用線性布局+TextView,內(nèi)容模塊采用幀布局,底部采用線性布局+RadioButton。

        (2)主頁面框架設計

        通過RadionButton實現(xiàn)標簽導航時,要區(qū)分選中和非選中狀態(tài),此時可通過設置選擇器來實現(xiàn)。建立選擇器selector,item屬性為“state_checked”,當“state_checked”設置為false時采用非選中圖片,當“state_checked”設置為true時采用選中圖片。關鍵實現(xiàn)代碼如圖4所示。

        (3)各子頁面設計

        子頁面的實現(xiàn)采用安卓提供的Fragment機制,主要包括以下幾個關鍵步驟:①創(chuàng)建BaseFragment;②定義各個子頁面;③初始化Fragment;④設置RadioGroup的監(jiān)聽;⑤得到Fragment;⑥切換Fragment。

        需要注意的是,當出現(xiàn)橫豎屏切換時會導致Activity生命周期重新執(zhí)行,進而導致程序崩潰,解決的辦法是在AndroidManifest.xml文件中將主頁面MainActivity的配置中“configChanges”的屬性設置為"orientation|screenSize|keyboard Hidden"。

        (4)子頁面Fragment功能的實現(xiàn)

        根據(jù)頁面顯示功能需求,對頁面布局進行設計,并對功能進行程序?qū)崿F(xiàn)。

        2.2布局動態(tài)加載

        在系統(tǒng)軟件實現(xiàn)上需要兼顧手機、平板等多終端、不同尺寸的屏幕,因此對軟件的主頁面進行了專門設計,在不重新編譯的情況下,軟件可以同時自適應多終端。本系統(tǒng)為小尺寸設計的單頁布局如圖5所示(適用于手機),為大尺寸屏幕設計的雙頁布局如圖6所示(適用于平板)。

        在軟件啟動時,系統(tǒng)會根據(jù)終端屏幕的尺寸大小自動選擇加載顯示布局,在軟件實現(xiàn)上采用Fragment+Qualifiers技術實現(xiàn)。通過Fragment實現(xiàn)各子功能頁面,各子功能實現(xiàn)類繼承自Fragment,并重寫onCreateView()方法,同時在此方法中,通過LayoutInflater的inflate()方法加載子功能的頁面布局文件。

        在子功能頁面內(nèi),分別單獨設計手機和平板的界面,手機界面布局放置在layout文件夾下,平板界面布局放置在layout-sw600dp文件夾下,在子功能頁面啟動時通過屏幕大小自動選擇加載不同界面,采用了一種安卓提供的最小寬度Qualifiers(限定符)技術,最小限定符允許對屏幕的寬度指定一個最小值(以dp為單位),然后以這個最小值(600 dp)為臨界點,屏幕寬度大于這個值就加載layout-sw600dp文件夾下的布局,屏幕寬度小于這個值的設備就加載layout文件夾下的布局。Android中常見的限定符如表1所示[6]。

        2.3 LitePal數(shù)據(jù)持久化

        數(shù)據(jù)庫的存儲訪問采用LitePal技術,LitePal是一款開源的Android數(shù)據(jù)庫框架,采用ORM模式將數(shù)據(jù)庫中最常用到的增、刪、改、查功能進行了封裝,使得不用編寫一行SQL語句就可以完成各種常用操作?;贚itePal的數(shù)據(jù)庫操作使用包括以下幾個關鍵要點。

        (1)配置LitePal

        ①在app/build.gradle文件中加入開源庫的引用。在dependencies中加入引用“implementation org.litepal.android: java:3.0.0”;②在工程中的assets目錄中建立litepal.xml文件并對數(shù)據(jù)庫名稱dbname和版本號version屬性值進行配置;③在AndroidManifest.xml文件標簽中加入聲明“android:name="org.litepal.LitePalApplication"”;④在工程的Application類中調(diào)用LitePal.initialize(context)對LitePal進行初始化。

        (2)數(shù)據(jù)庫操作

        ①創(chuàng)建更新數(shù)據(jù)庫:創(chuàng)建好映射對象后通過LitePal. getDatabase()對數(shù)據(jù)庫進行創(chuàng)建。在需要對數(shù)據(jù)庫表中字段進行修改或添加時,只需要對映射對象類進行添加或修改,同時對版本號加1就可實現(xiàn)對數(shù)據(jù)表的更新。

        ②數(shù)據(jù)添加:使用LitePal添加數(shù)據(jù)時需要將對象進行實例化并設置屬性,然后調(diào)用save函數(shù)。

        ③數(shù)據(jù)更新:使用LitePal更新數(shù)據(jù)有3種方式,第1種是先通過LitePal.find()對需要修改的數(shù)據(jù)進行查詢,然后設置其屬性,并調(diào)用save()函數(shù);第2種方式是通過新建類的對象并設置其屬性,再調(diào)用對象的update(id)函數(shù),根據(jù)數(shù)據(jù)的ID號進行更新;第3種方式是通過新建對象并創(chuàng)建其屬性,再調(diào)用updateAll()函數(shù),可以在函數(shù)中設置查詢條件。

        ④數(shù)據(jù)刪除:使用LitePal刪除數(shù)據(jù)有2種方式,一種是通過直接調(diào)用LitePal.delete(類名,ID)根據(jù)ID號進行操作;另一種是通過調(diào)用LitePal.deleteAll(類名,查詢條件)根據(jù)查詢條件進行刪除。

        ⑤數(shù)據(jù)查詢:使用LitePal查詢數(shù)據(jù)有3種方式,一種是調(diào)用LitePal.find(類名,ID)根據(jù)ID號進行查詢;第2種方式是通過調(diào)用LitePal.findAll(查詢)可以查詢所有內(nèi)容;第3種是通過調(diào)用LitePal.where(查詢條件).order(排序方式).find(類名)來實現(xiàn)。

        2.4第三方應用功能集成

        在系統(tǒng)實現(xiàn)過程中集成了第三方成熟的應用,包括百度地圖應用、常用工具等,其中涉及到2種關鍵實現(xiàn)方式,一種是直接使用第三方提供的集成應用SDK,比如百度SDK,在實現(xiàn)時只要遵循其開發(fā)應用規(guī)范,就可輕松訪問其提供的服務和數(shù)據(jù),構(gòu)建功能豐富、交互性強的應用程序。另一種是將已安裝的應用程序功能集成到系統(tǒng)應用中,通過應用程序包名,以及Activity或Service名稱調(diào)用應用程序功能,實現(xiàn)的關鍵代碼如圖7所示。

        3應用

        軟件啟動時會根據(jù)當前屏幕尺寸自動選擇加載不同的布局界面,在平板客戶端的運行主界面如圖8所示,在手機客戶端的運行主界面如圖9所示,平板客戶端左側(cè)采用瀑布流的方式對勘察過程和要素進行組織,當選擇左側(cè)圖片按鈕后,需要顯示的內(nèi)容在右側(cè)進行顯示,當需要對數(shù)據(jù)庫內(nèi)容進行操作時,通過右側(cè)指示按鈕進入訪問;手機客戶端由于屏幕較窄,只采用瀑布流方式對勘察內(nèi)容按時縱軸進行組織,需要訪問的內(nèi)容通過二級導航進行訪問。

        通過在點位勘察過程中的實際應用表明,該系統(tǒng)能夠較大地提高勘察過程的有序管理,所提供的輔助工具對勘察實施具有很強的實用性,提高了勘察效率。

        4結(jié)束語

        本文對基于安卓的點位勘察系統(tǒng)展開研究,對軟件實現(xiàn)過程中涉及到的主要技術難點進行總結(jié),并對具體實現(xiàn)細節(jié)進行描述,提到的技術框架和實現(xiàn)技術具有功能模塊組織層次清晰、功能結(jié)構(gòu)可擴展性好、數(shù)據(jù)存儲訪問便捷及屏幕大小適應性強等特點。通過具體的應用實踐證明,系統(tǒng)所實現(xiàn)的安卓應用在操作使用、功能維護、模塊擴展等方面具有良好的效果,而且軟件框架和實現(xiàn)代碼具有較好的可移植性,對于其他開發(fā)者研發(fā)此類系統(tǒng)具有很好的參考價值。

        參考文獻

        [1]楊剛,王曼,屈勝年.基于Android的老人遠程定位監(jiān)護系統(tǒng)設計與實現(xiàn)[J].計算機與數(shù)字工程,2018, 46(5):1033-1037.

        [2]劉馬飛.基于Android的車胎監(jiān)測系統(tǒng)軟件的設計與實現(xiàn)[J].計算機測量與控制,2019,27(8):120-124,129.

        [3]楊玲,朱江,程勇,等.基于安卓的無線體征信息監(jiān)測系統(tǒng)設計與實現(xiàn)[J].電子測量技術,2015,38(9):121-124.

        [4]張文嘉,陳齊康,郭斌,等.BLE智能鎖的Android設計與實現(xiàn)[J].工業(yè)控制計算機,2018,31(3):111-112,115.

        [5]丁煒,劉恒,廖成旺.基于Android的微震適時監(jiān)測系統(tǒng)設計與實現(xiàn)[J].計算機工程與應用,2018,54(17):266-270.

        [6]郭霖.第一行代碼[M].北京:人民郵電出版社,2016.

        精品视频专区| 国产夫妻精品自拍视频| 亚洲中文字幕一区二区三区多人| 香港三级日本三韩级人妇久久| 亚洲三区在线观看内射后入| 让少妇高潮无乱码高清在线观看| 精品深夜av无码一区二区老年| 国产色噜噜| AV无码系列一区二区三区| 国产精品丝袜美腿诱惑| 国产黄色三级一区二区三区四区| 丰满少妇被粗大猛烈进人高清| 亚洲精品第一国产综合亚av| 综合无码一区二区三区四区五区| 亚洲色偷偷偷综合网另类小说| 国产在线精品成人一区二区三区| 久久伊人少妇熟女大香线蕉| 亚洲成色在线综合网站| 免费人人av看| 极品一区二区在线视频| 欧美丰满老熟妇aaaa片| 97人妻碰碰视频免费上线| 在线播放国产女同闺蜜| 中文字幕人妻少妇美臀| 大尺度极品粉嫩嫩模免费| 国产亚洲精品a片久久久| 人人做人人妻人人精| 国产精品中文第一字幕| 亚洲av天堂一区二区| 精品国产yw在线观看| 欧美日韩亚洲tv不卡久久| 国产欧美一区二区成人影院| 一区二区三区精彩视频在线观看| 91盗摄偷拍一区二区三区| 又嫩又硬又黄又爽的视频| 免费人成毛片乱码| 视频福利一区二区三区| 精品无码av无码专区| 亚洲欧美日韩精品久久亚洲区| 麻豆五月婷婷| 丝袜人妻中文字幕首页|