鴻蒙HarmonyOS實戰-Stage模型(概述和元件配置)

蜀道山QAQ發表於2024-05-13

🚀一、Stage模型概述和元件

🔎1.Stage模型概述

HarmonyOS的Stage模型是其應用程式的核心概念之一,它提供了一種靈活的方式來管理應用程式的生命週期和介面管理。

Stage模型由以下幾個主要元件組成:

  • 應用程式:每個應用程式被視為一個Stage,它可以包含一個或多個視窗,每個視窗都可以顯示一個或多個介面。

  • 視窗:視窗是應用程式中的一個獨立區域,可以包含一個或多個介面。

  • 介面:介面是視窗中的一個特定內容區域,用於顯示應用程式的使用者介面。每個介面都可以包含一個或多個元件。

  • 元件:元件是介面中的視覺化元素,例如按鈕、文字框、影像等。透過組合不同的元件,可以構建出豐富多樣的使用者介面。

Stage模型的主要特點包括:

  • 多視窗管理:一個應用程式可以同時管理多個視窗,每個視窗可以顯示不同的介面內容,使用者可以自由切換和操作視窗。

  • 靈活佈局:介面中的元件可以透過佈局管理器進行靈活的排列和佈局,以適應不同螢幕尺寸和裝置方向的變化。

  • 生命週期管理:應用程式和視窗都有自己的生命週期,可以響應不同的生命週期事件,例如建立、啟動、暫停、恢復和銷燬等。

透過Stage模型,HarmonyOS提供了一種統一的方式來管理應用程式的介面和生命週期,使開發者能夠更容易地構建和管理複雜的應用程式。

image

Stage模型是HarmonyOS多端統一的應用開發框架中的一個核心概念,用於描述應用的介面層次結構和元件之間的關係。它主要包含UIAbility元件和ExtensionAbility元件、WindowStage、Context和AbilityStage。

  1. UIAbility元件和ExtensionAbility元件:
  • UIAbility元件是應用中負責繪製使用者介面的元件,透過建立UIAbility元件可以實現應用的介面展示和使用者互動的功能。
  • ExtensionAbility元件是一種非UI能力的元件,用於提供後臺處理任務、訪問系統資源、與外部裝置互動等功能,與UIAbility元件相互配合完成應用的功能。
  1. WindowStage:
  • WindowStage是應用介面的頂層容器,它負責管理應用介面的顯示和佈局。
  • WindowStage可以包含一個或多個UIAbility元件,並負責協調它們之間的介面切換和互動。
  1. Context:
  • Context是應用介面的上下文環境,可以透過Context物件獲取應用的資源、系統服務和應用資料等。
  • 在WindowStage中的每個UIAbility元件都對應一個Context物件,用於提供介面相關的上下文資訊。
  1. AbilityStage:
  • AbilityStage是HarmonyOS應用的生命週期管理容器,它負責管理應用的各個階段(如建立、啟動、暫停、恢復、停止等)。
  • AbilityStage可以包含一個或多個WindowStage,用於管理多個應用介面的生命週期和切換。

🔎2.Stage模型元件配置

🦋2.1 應用包名配置

應用需要在工程的AppScope目錄下的app.json5配置檔案中配置bundleName標籤。該標籤用於標識應用的唯一性。推薦採用反域名形式命名,例如com.example.demo。建議第一級為域名字尾com,第二級為廠商/個人名,第三級為應用名,也可以多級。

image

🦋2.2 應用圖示和標籤配置

Stage模型的應用需要配置應用圖示和應用標籤。

  1. 應用圖示:

應用圖示需要在工程的AppScope目錄下的app.json5配置檔案中配置icon標籤。配置為圖片資源的索引,配置完成後,該圖片即為應用的圖示。

  1. 應用標籤:

應用標籤需要在工程的AppScope模組下的app.json5配置檔案中配置label標籤。用於標識應用對使用者顯示的名稱,需要配置為字串資源的索引。

應用圖示和標籤在設定應用中使用。例如,在應用列表中設定應用時,會顯示出對應的圖示和標籤。

image

image

🦋2.3 入口圖示和標籤配置

入口圖示需要在module.json5配置檔案中進行配置。在abilities標籤下面可以找到icon標籤。例如,如果希望在桌面上顯示該UIAbility的圖示,則需要在skills標籤下的entities中新增"entity.system.home",在actions標籤中新增"action.system.home"。如果同一個應用有多個UIAbility,並且配置了上述欄位,那麼在桌面上會顯示出多個圖示,分別對應各自的UIAbility。

image

image

🦋2.4 應用版本宣告配置

應用版本宣告需要在工程的AppScope目錄下的app.json5配置檔案中配置以下標籤:

  1. versionCode:用於標識應用的版本號,該標籤值為32位非負整數。
  2. versionName:標識版本號的文字描述。

image

🦋2.5 Module支援的裝置型別配置

Module支援的裝置型別需要在module.json5配置檔案中配置以下標籤:

1.deviceTypes:用於標識支援的裝置型別。如果在deviceTypes標籤中新增了某種裝置,表示該Module能夠在該裝置上執行。

image

🦋2.6 Module許可權配置

在module.json5配置檔案中,需要使用requestPermission標籤來配置Module訪問系統或其他應用的受保護部分所需的許可權資訊。該標籤用於宣告需要申請的許可權名稱、申請許可權的原因以及許可權使用的場景。

image

🚀寫在最後

  • 如果你覺得這篇內容對你還蠻有幫助,我想邀請你幫我三個小忙:
  • 點贊,轉發,有你們的 『點贊和評論』,才是我創造的動力。
  • 關注小編,同時可以期待後續文章ing🚀,不定期分享原創知識。
  • 更多鴻蒙最新技術知識點,請關注作者部落格:https://t.doruo.cn/14DjR1rEY

image

相關文章