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

基于安卓平臺的便攜式點位勘察系統設計與實現

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

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

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

關鍵詞:安卓平臺;勘察系統;動態加載;標簽導航;數據持久化

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

0引言

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

1系統設計

1.1系統總體架構

系統硬件部分包括電子設備傳感器(GPS接收器、加速度傳感器、磁傳感器、氣壓傳感器、重力傳感器等)和便攜式測量工具(激光測距儀器、全站儀、水平儀、卡片機、米尺等),主要進行實地點位信息采集;軟件部分采用SQLite數據庫+安卓平臺開發的方式,主要用于將采集到的信息進行存儲、統計和顯示,并能夠對硬件傳感器信息通過軟件實現電子測量功能,系統總體架構如圖1所示。

1.2系統功能結構

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

2系統實現

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

2.1標簽導航的界面框架

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

頂部顯示頁面標題,中間顯示頁面內容,底部通過導航標簽進行跳轉。實現的關鍵步驟如下:

(1)頁面布局設計

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

(2)主頁面框架設計

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

(3)各子頁面設計

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

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

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

根據頁面顯示功能需求,對頁面布局進行設計,并對功能進行程序實現。

2.2布局動態加載

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

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

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

2.3 LitePal數據持久化

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

(1)配置LitePal

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

(2)數據庫操作

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

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

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

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

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

2.4第三方應用功能集成

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

3應用

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

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

4結束語

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

參考文獻

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

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

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

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

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

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

主站蜘蛛池模板: 亚洲欧美日韩色图| 国产超碰在线观看| av在线无码浏览| 国产精品视频观看裸模| 久久这里只精品国产99热8| 亚洲AV电影不卡在线观看| 亚洲国产亚洲综合在线尤物| 国产白浆在线| 精品国产免费人成在线观看| 国产人成网线在线播放va| 久久精品中文字幕免费| 亚洲精品无码日韩国产不卡| 日本伊人色综合网| 91外围女在线观看| 欧美色视频日本| 野花国产精品入口| 亚洲精品另类| 国产真实乱人视频| 欧美高清国产| 国产网友愉拍精品视频| 青青草国产一区二区三区| 在线国产毛片手机小视频| 欧美伦理一区| 久久青草精品一区二区三区| 一边摸一边做爽的视频17国产| 国产毛片高清一级国语 | 国产精品精品视频| 无码精品国产dvd在线观看9久| 国产高清国内精品福利| 99re66精品视频在线观看| 国产夜色视频| 四虎国产精品永久一区| 久青草国产高清在线视频| 亚洲国语自产一区第二页| 欧美日韩动态图| 国产成人精品一区二区不卡 | 国产色婷婷视频在线观看| 中文字幕精品一区二区三区视频| 亚洲天堂高清| 九色综合伊人久久富二代| 熟妇丰满人妻av无码区| 欧美在线伊人| 一本大道视频精品人妻| 亚洲愉拍一区二区精品| 91系列在线观看| 天堂亚洲网| 国产电话自拍伊人| 国产精品免费电影| 91亚洲精品第一| 91小视频版在线观看www| 老司机午夜精品网站在线观看| 久久久成年黄色视频| 国内a级毛片| 久久网欧美| 5388国产亚洲欧美在线观看| 一级香蕉视频在线观看| 亚洲国产清纯| 一本大道香蕉久中文在线播放| 国产SUV精品一区二区| 色香蕉影院| 四虎免费视频网站| 久操线在视频在线观看| 四虎永久免费地址在线网站 | 国产啪在线91| 国产理论精品| 女同久久精品国产99国| 国产乱子伦一区二区=| 久久综合色天堂av| 国产精品不卡片视频免费观看| 国模在线视频一区二区三区| 欧美福利在线播放| 欧美伊人色综合久久天天| 免费高清a毛片| 波多野结衣中文字幕一区二区| 国产精品视频白浆免费视频| 国产午夜一级淫片| 毛片免费高清免费| 欧美中文字幕一区二区三区| 国产va在线观看免费| 57pao国产成视频免费播放| 国产精品永久在线| 国产在线无码一区二区三区|