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

基于開源鴻蒙3.2R 的無人機顯控應用研究

2023-12-09 08:07:20李競擇范承宇歐陽迪
機電產品開發與創新 2023年6期
關鍵詞:界面用戶模型

李競擇, 范承宇, 歐陽迪

(中國兵器裝備集團自動化研究所有限公司, 四川 綿陽621000)

0 引言

鴻蒙是華為開發的一款基于微內核的分布式操作系統,旨在為全場景智能化提供統一的用戶體驗[1]。鴻蒙的設計目標是構建一個通用的、無縫的全場景操作系統,可以應用于各種設備。 與傳統操作系統相比,鴻蒙采用了分布式架構,通過分布式能力的支持實現設備間的協同工作。

開源鴻蒙提供了豐富的開發工具和開發者支持,使開發者能夠輕松構建基于鴻蒙的應用和服務。 它具有統一的開發框架和多設備適配能力, 使開發者能夠更高效地開發跨設備的應用程序。

本文在開源鴻蒙操作系統3.2R 版本下使用ArkUI開發框架實現了一個智能裝備指控系統。

1 開發環境介紹

1.1 ArkTS 開發語言

ArkUI 開發框架是方舟開發框架的簡稱, 它是一套構建開源鴻蒙操作系統應用界面的聲明式UI 開發框架,它使用極簡的UI 信息語法、豐富的UI 組件以及實時界面語言工具,幫助開發者提升應用界面開發效率30%,開發者只需要使用一套TypeScript/JavaScript API, 就能在多個開源鴻蒙設備上提供既豐富又流暢的用戶界面體驗[2]。

當前,ArkTS 是TypeScript 的超集,它在TS 的基礎上主要擴展了如下能力:

基本語法:ArkTS 開創性地定義了聲明式UI 配合ArkUI 開發框架中的系統組件及其相關的事件方法、屬性方法等共同構成了UI 開發的主體。

狀態管理:ArkTS 提供了多維度的狀態管理機制。 在UI 開發框架中,與UI 相關聯的數據可以在組件內使用,也可以在不同組件層級間傳遞,比如父子組件之間、爺孫組件之間,還可以在應用全局范圍內傳遞或跨設備傳遞。

渲染控制:ArkTS 提供了渲染控制的能力。 條件渲染(if-else)可根據應用的不同狀態,渲染對應狀態下的UI內容,常用于。 循環渲染(ForEach)可從數據源中迭代獲取數據, 并在每次迭代過程中創建相應的組件。 數據懶加載(LazyForEach)從數據源中按需迭代數據,并在每次迭代過程中創建相應的組件。

ArkTS 開發框架如圖1 所示。

圖1 ArkTS 開發框架

1.2 FA 與Stage 開發模型

開源鴻蒙應用開發可以選擇兩種開發模型, 分別是FA 模型和Stage 模型。

OpenHarmony API 8 及其更早版本的應用程序只能使用FA 模型進行開發。

Stage 模型是API9 推出后新的開發模型。 其被設計出來就是為了讓開發者能更加方便地開發出分布式環境的復雜應用,下表是Stage 模型和FA 模型的差異。

表1 FA 模型和Stage 模型對比

需要注意的是,開源鴻蒙更新至3.2Release 之后,API也更新至API9,開發者只能選擇Stage 模型進行開發。

2 軟件設計

2.1 系統實現概覽

無人機系統平臺的UI 主要由三個部分構成:無人機飛行計劃界面、無人機任務計劃界面、無人機參數調節界面。 如圖2 所示。

圖2 系統設計方案

2.2 UI 設計——主界面

主界面作為用戶點開APP 后進入的第一個界面應該是簡潔明了的。

主界面構成包括兩部分,一是屏幕正上方的功能欄,二是功能欄下方的視頻區域。 如圖3 所示。

圖3 登錄界面

用戶點擊功能欄上的按鈕后, 下方視頻界面上會出現響應功能界面。

2.3 UI 設計——飛行計劃

飛行計劃界面作為該APP 最為關鍵的一個部分,承擔了APP 的絕大部分功能,包括:小地圖顯示、 無人機當前位置信息查看和無人機飛行計劃更改及命令發送。

用戶點擊APP 上方的飛行按鍵后,該界面會由軟件下方浮現。如圖4 所示。

圖4 整體概覽

飛行計劃包括4個部分:小地圖、無人機位置信息、無人機飛行模式及速度修改和無人機命令發送。

小地圖區域包括一個地圖和一個雷達組件, 地圖目前使用二維地形圖,雷達組件為自定義組件。

2.4 無人機UI 設計——任務計劃

任務計劃界面旨在為用戶提供一個可以自定義無人機飛行計劃的區域,由3 個部分構成:無人機計劃展示、快捷鍵和勾選區域構成。

任務計劃界面如圖5 所示。

圖5 任務計劃界面

無人機計劃展示為用戶展示了無人機的經緯度信息、無人機高度信息、無人機距目標地距離等,用戶可以通過加載已有的計劃來更新這些數據, 也可以通過鍵盤輸入數據并保存。

數據展示由一個Text 組件和一個TextInput 組件組成, 通過特質的圖片和.backgroundColor 為數據讀寫區進行渲染調色,部分代碼如下所示:

按鍵包括:讀取任務計劃鍵、上傳任務計劃鍵、清除任務計劃鍵、讀取視頻流地址鍵、加載地圖文件鍵和獲取家的位置。

其中讀取、上傳、加載鍵用戶點擊后會在屏幕中間彈出一個輸入框用于輸入文件地址。 部分代碼如下所示:

勾選區域由一個地圖選擇下拉菜單和勾選項構成,下拉菜單選用自定義下來菜單,實現邏輯如圖6 所示。

圖6 下拉菜單邏輯

勾選組件由開源鴻蒙官方組件中的checkBox 實現,當用戶勾選了某個選擇框后,會觸發.onChange 事件并通過udp 通信傳遞給無人機。

2.5 無人機UI 設計——參數調節

用戶點擊功能欄后的參數調節按鍵后, 會在視頻界面上方出現一個參數調節界面用于調節無人機參數,用戶可以通過直接輸入數值來調節無人機的油門量和轉動時間,也可以通過拉動調節無人機的電機工作速率。

參數調節界面如圖7 所示。

圖7 參數調節界面

部分代碼如下所示:

3 模塊化組件

為減少主界面代碼并且方便調試, 通常將需要反復使用的組件進行模塊化處理方便調用。

本文提供了許多自定義的模塊, 希望能給廣大開發者提供一些開發思路。

3.1 自定義模塊——下拉菜單

官方提供了一個下拉組件Select 供開發者使用,但Select 可供修改的屬性較少,若開發者想自定義一個邊框則需要自己做一個下拉組件框架。

本文設計的下拉選擇模塊如圖8 所示。

圖8 自定義下拉選擇組件

下拉選擇組件的實現邏輯是:點擊下拉按鈕后出現一個下拉菜單,里面是可選擇的幾個選項,選擇后按鈕的文本變為剛剛選中的選項的文本,然后下拉菜單邊框消失。

一個下拉選擇組件應該包括的基本要素應該有:下拉按鈕本身圖片資源“selectedImage”、下拉菜單項圖片資源“optionImage”、下拉菜單文本“selectedText”、下拉菜單顯隱“optionVisible”,其他屬性包括各種邊框的寬高等屬性這里不做贅述,開發者可以根據自己的喜好進行添加。

3.2 自定義模塊——雷達

雷達是一種利用電磁波進行探測和測距的技術。 在UI 中雷達通常有一個掃描波和掃描點構成。 雷達作為軍事應用中必不可少的一環常出現于各種顯控應用中。

該模塊實現邏輯為:使用Row 組件中的.sweepGradient 屬性繪制扇形并設置漸變屬性, 同時通過.rotate 屬性配合.animation 顯式動畫來達到一個掃描的效果,部分代碼如下所示:

4 結束語

開源鴻蒙是華為對標安卓開發的一款開源操作系統,旨在為中國開發者提供一個良好的、可持續性發展的開源開發環境。

鴻蒙系統的開源是一個長期的、 持續的、 開放的過程,需要全球開發者和合作伙伴的廣泛參與和支持。目前越來越多的芯片開始適配支持開源鴻蒙, 包括但不限于RK3568、RK3588 等。

過去的鴻蒙應用開發和安卓類似,都是以Java 為主。自2023 開源鴻蒙開發者大會召開之后,鴻蒙應用開發和開源鴻蒙應用開發之間的隔閡被打破了, 開發者可以使用ArkTS 語言同時為兩款操作系統進行應用開發。

本文使用ArkTS 開發語言開發了一款無人機系統平臺, 使用ArkUI 獨有的聲明式開發方式進行了一系列創新性的組件開發, 希望為廣大ArkTS 開發者提供一些新的思路。

相信隨著未來相關技術水平的不斷提高,ArkTS 語言也會不斷進步。

猜你喜歡
界面用戶模型
一半模型
重要模型『一線三等角』
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
重尾非線性自回歸模型自加權M-估計的漸近分布
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
人機交互界面發展趨勢研究
3D打印中的模型分割與打包
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 国产制服丝袜无码视频| 日韩国产无码一区| 欧美日在线观看| 亚洲av无码牛牛影视在线二区| 亚洲国产成熟视频在线多多| 中国成人在线视频| 国产手机在线ΑⅤ片无码观看| 国产一级精品毛片基地| 国产小视频在线高清播放| 成年午夜精品久久精品| 青草视频久久| 国产亚洲视频免费播放| 午夜电影在线观看国产1区| 一本大道香蕉高清久久| 国产精品极品美女自在线| 中文字幕首页系列人妻| 3p叠罗汉国产精品久久| 免费AV在线播放观看18禁强制| 亚洲精品在线91| 国产va免费精品观看| 国产欧美日韩另类精彩视频| 久久天天躁狠狠躁夜夜躁| 国内精品自在欧美一区| 亚洲专区一区二区在线观看| 一本一本大道香蕉久在线播放| 91色爱欧美精品www| 精品久久蜜桃| 中文字幕在线永久在线视频2020| 久久久久免费看成人影片| 国产成+人+综合+亚洲欧美| 亚洲无码高清免费视频亚洲| 国产丝袜无码一区二区视频| 热思思久久免费视频| 在线观看国产黄色| 99国产精品免费观看视频| 99在线观看精品视频| 中国国产高清免费AV片| 国产一级做美女做受视频| 精品久久国产综合精麻豆| av色爱 天堂网| 欧美日本激情| 91区国产福利在线观看午夜| 亚洲成人一区二区三区| 成年人福利视频| 国产毛片久久国产| 日韩精品一区二区三区中文无码 | 91福利免费视频| 久久亚洲精少妇毛片午夜无码| 国产精品v欧美| a级毛片网| 欧美日韩第二页| 亚洲精品成人7777在线观看| 又爽又大又光又色的午夜视频| 国产区在线看| 亚洲—日韩aV在线| 中文字幕亚洲乱码熟女1区2区| 国产微拍精品| 青青国产在线| 国产黄在线观看| 国产在线第二页| 亚洲成人网在线观看| 色播五月婷婷| 日本精品中文字幕在线不卡| 精品一区二区三区无码视频无码| 日韩AV无码免费一二三区| 精品国产污污免费网站| 91成人在线观看视频| 日韩 欧美 小说 综合网 另类| 午夜精品国产自在| 高清码无在线看| 91在线中文| 精品少妇人妻av无码久久| 毛片在线播放网址| 九九热这里只有国产精品| 老司机久久99久久精品播放| 国产99视频在线| 欧美爱爱网| 99久久99视频| 欧美性精品不卡在线观看| 亚洲人成影院在线观看| 亚洲Av综合日韩精品久久久| 欧美日韩福利|