鴻蒙HarmonyOS實戰-Stage模型(AbilityStage元件容器)

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

🚀前言

元件容器是一種用於管理和組織元件的工具或環境。它可以提供一些基本的功能,如元件的註冊、建立、銷燬和查詢。元件容器通常會維護一個元件的依賴關係,並負責將這些依賴注入到元件中。它還可以提供一些其他的功能,如生命週期管理、事件通知、配置管理等。透過使用元件容器,開發者可以更方便地管理和使用元件,提高程式碼的可維護性和可複用性。

🚀一、AbilityStage元件容器

🔎1.AbilityStage的概念

AbilityStage是HarmonyOS中的元件容器。它是一個用於管理和顯示應用程式頁面的容器,類似於Android中的Activity或iOS中的ViewController。AbilityStage可以包含多個Ability(能力),每個Ability都代表著應用程式中的一個頁面或功能。

透過AbilityStage,應用程式可以實現頁面之間的切換、頁面的生命週期管理、事件的分發和處理等功能。它具有以下特點:

  1. 生命週期管理:AbilityStage可以管理Ability的生命週期,包括建立、啟動、暫停、恢復和銷燬等,以確保頁面的正常執行。

  2. 導航能力:AbilityStage提供了頁面之間的導航能力,可以方便地進行頁面切換和跳轉。

  3. 事件處理:AbilityStage可以分發和處理應用程式中的各種事件,如觸控事件、按鍵事件等。

  4. 佈局管理:AbilityStage可以根據應用程式的佈局要求,對Ability進行佈局管理,實現靈活的頁面佈局。

AbilityStage與Module一一對應,即一個Module擁有一個AbilityStage。

🔎2.AbilityStage的使用

1、在工程Module對應的ets目錄下,右鍵選擇“New > Directory”,新建一個目錄並命名為myabilitystage。

image

2、在myabilitystage目錄,右鍵選擇“New > TypeScript File”,新建一個TypeScript檔案並命名為MyAbilityStage.ts。
image

3、開啟MyAbilityStage.ts檔案,匯入AbilityStage的依賴包,自定義類繼承AbilityStage並加上需要的生命週期回撥,示例中增加了一個onCreate()生命週期回撥。

import AbilityStage from '@ohos.app.ability.AbilityStage';

export default class MyAbilityStage extends AbilityStage {
  onCreate() {
    // 應用的HAP在首次載入的時,為該Module初始化操作
  }
  onAcceptWant(want) {
    // 僅specified模式下觸發
    return "MyAbilityStage";
  }
}

image

4、在module.json5配置檔案中,透過配置srcEntry引數來指定模組對應的程式碼路徑,以作為HAP載入的入口。

{
  "module": {
    "name": "entry",
    "type": "entry",
    "srcEntry": "./ets/myabilitystage/MyAbilityStage.ts",
    ...
  }
}

image

AbilityStage擁有生命週期/事件回撥:

image

🚀寫在最後

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

image

相關文章