国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

HarmonyOS/OpenHarmony應(yīng)用開發(fā)-Stage模型UIAbility組件使用(一)

這篇具有很好參考價(jià)值的文章主要介紹了HarmonyOS/OpenHarmony應(yīng)用開發(fā)-Stage模型UIAbility組件使用(一)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

一、UIAbility組件概述
1.概述
UIAbility組件是一種包含UI界面的應(yīng)用組件,主要用于和用戶交互。
UIAbility組件是系統(tǒng)調(diào)度的基本單元,為應(yīng)用提供繪制界面的窗口;一個(gè)UIAbility組件中可以通過多個(gè)頁面來實(shí)現(xiàn)一個(gè)功能模塊。每一個(gè)UIAbility組件實(shí)例,都對(duì)應(yīng)于一個(gè)最近任務(wù)列表中的任務(wù)。
2.聲明配置
為使應(yīng)用能夠正常使用UIAbility,需要在module.json5配置文件的abilities標(biāo)簽中聲明UIAbility的名稱、入口、標(biāo)簽等相關(guān)信息。

{
  "module": {
    // ...
    "abilities": [
      {
        "name": "EntryAbility", // UIAbility組件的名稱
        "srcEntrance": "./ets/entryability/EntryAbility.ts", // UIAbility組件的代碼路徑
        "description": "$string:EntryAbility_desc", // UIAbility組件的描述信息
        "icon": "$media:icon", // UIAbility組件的圖標(biāo)
        "label": "$string:EntryAbility_label", // UIAbility組件的標(biāo)簽
        "startWindowIcon": "$media:icon", // UIAbility組件啟動(dòng)頁面圖標(biāo)資源文件的索引
        "startWindowBackground": "$color:start_window_background", // UIAbility組件啟動(dòng)頁面背景顏色資源文件的索引
        // ...
      }
    ]
  }
}

二、UIAbility組件生命周期
1.概述
當(dāng)用戶打開、切換和返回到對(duì)應(yīng)應(yīng)用時(shí),應(yīng)用中的UIAbility實(shí)例會(huì)在其生命周期的不同狀態(tài)之間轉(zhuǎn)換。UIAbility類提供了一系列回調(diào),通過這些回調(diào)可以知道當(dāng)前UIAbility實(shí)例的某個(gè)狀態(tài)發(fā)生改變,會(huì)經(jīng)過UIAbility實(shí)例的創(chuàng)建和銷毀,或者UIAbility實(shí)例發(fā)生了前后臺(tái)的狀態(tài)切換。
UIAbility的生命周期包括Create、Foreground、Background、Destroy四個(gè)狀態(tài),如下圖所示。
圖1?UIAbility生命周期狀態(tài)

HarmonyOS/OpenHarmony應(yīng)用開發(fā)-Stage模型UIAbility組件使用(一)


2.生命周期狀態(tài)說明
Create狀態(tài)

Create狀態(tài)為在應(yīng)用加載過程中,UIAbility實(shí)例創(chuàng)建完成時(shí)觸發(fā),系統(tǒng)會(huì)調(diào)用onCreate()回調(diào)。可以在該回調(diào)中進(jìn)行應(yīng)用初始化操作,例如變量定義資源加載等,用于后續(xù)的UI界面展示。

import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window';

export default class EntryAbility extends UIAbility {
    onCreate(want, launchParam) {
        // 應(yīng)用初始化
    }
    // ...
}

WindowStageCreate和WindowStageDestory狀態(tài)
UIAbility實(shí)例創(chuàng)建完成之后,在進(jìn)入Foreground之前,系統(tǒng)會(huì)創(chuàng)建一個(gè)WindowStage。WindowStage創(chuàng)建完成后會(huì)進(jìn)入onWindowStageCreate()回調(diào),可以在該回調(diào)中設(shè)置UI界面加載、設(shè)置WindowStage的事件訂閱。
圖2?WindowStageCreate和WindowStageDestory狀態(tài)

HarmonyOS/OpenHarmony應(yīng)用開發(fā)-Stage模型UIAbility組件使用(一)


在onWindowStageCreate()回調(diào)中通過loadContent()方法設(shè)置應(yīng)用要加載的頁面并根據(jù)需要訂閱WindowStage的事件(獲焦/失焦、可見/不可見)。

import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window';

export default class EntryAbility extends UIAbility {
    onWindowStageCreate(windowStage: Window.WindowStage) {
        // 設(shè)置WindowStage的事件訂閱(獲焦/失焦、可見/不可見)

        // 設(shè)置UI界面加載
        windowStage.loadContent('pages/Index', (err, data) => {
            // ...
        });
    }
}

說明
WindowStage的相關(guān)使用請(qǐng)參見窗口開發(fā)指導(dǎo)。
對(duì)應(yīng)于onWindowStageCreate()回調(diào)。在UIAbility實(shí)例銷毀之前,則會(huì)先進(jìn)入onWindowStageDestroy()回調(diào),可以在該回調(diào)中釋放UI界面資源。例如在onWindowStageDestroy()中注銷獲焦/失焦等WindowStage事件。

import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window';

export default class EntryAbility extends UIAbility {
    // ...

    onWindowStageDestroy() {
        // 釋放UI界面資源
    }
}

Foreground和Background狀態(tài)
Foreground和Background狀態(tài)分別在UIAbility實(shí)例切換至前臺(tái)和切換至后臺(tái)時(shí)觸發(fā),對(duì)應(yīng)于onForeground()回調(diào)和onBackground()回調(diào)。
onForeground()回調(diào),在UIAbility的UI界面可見之前,如UIAbility切換至前臺(tái)時(shí)觸發(fā)??梢栽趏nForeground()回調(diào)中申請(qǐng)系統(tǒng)需要的資源,或者重新申請(qǐng)?jiān)趏nBackground()中釋放的資源。
onBackground()回調(diào),在UIAbility的UI界面完全不可見之后,如UIAbility切換至后臺(tái)時(shí)候觸發(fā)??梢栽趏nBackground()回調(diào)中釋放UI界面不可見時(shí)無用的資源,或者在此回調(diào)中執(zhí)行較為耗時(shí)的操作,例如狀態(tài)保存等。
例如應(yīng)用在使用過程中需要使用用戶定位時(shí),假設(shè)應(yīng)用已獲得用戶的定位權(quán)限授權(quán)。在UI界面顯示之前,可以在onForeground()回調(diào)中開啟定位功能,從而獲取到當(dāng)前的位置信息。
當(dāng)應(yīng)用切換到后臺(tái)狀態(tài),可以在onBackground()回調(diào)中停止定位功能,以節(jié)省系統(tǒng)的資源消耗。

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

export default class EntryAbility extends UIAbility {
    onForeground() {
        // 申請(qǐng)系統(tǒng)需要的資源,或者重新申請(qǐng)?jiān)趏nBackground中釋放的資源
    }

    onBackground() {
        // 釋放UI界面不可見時(shí)無用的資源,或者在此回調(diào)中執(zhí)行較為耗時(shí)的操作
        // 例如狀態(tài)保存等
    }
}

Destroy狀態(tài)
Destroy狀態(tài)在UIAbility實(shí)例銷毀時(shí)觸發(fā)??梢栽趏nDestroy()回調(diào)中進(jìn)行系統(tǒng)資源的釋放、數(shù)據(jù)的保存等操作。
例如調(diào)用terminateSelf()方法停止當(dāng)前UIAbility實(shí)例,從而完成UIAbility實(shí)例的銷毀;或者用戶使用最近任務(wù)列表關(guān)閉該UIAbility實(shí)例,完成UIAbility的銷毀。文章來源地址http://www.zghlxwxcb.cn/news/detail-514656.html

import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window';

export default class EntryAbility extends UIAbility {
    onDestroy() {
        // 系統(tǒng)資源的釋放、數(shù)據(jù)的保存等
    }
}

到了這里,關(guān)于HarmonyOS/OpenHarmony應(yīng)用開發(fā)-Stage模型UIAbility組件使用(一)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • HarmonyOS/OpenHarmony(Stage模型)應(yīng)用開發(fā)單一手勢(三)

    HarmonyOS/OpenHarmony(Stage模型)應(yīng)用開發(fā)單一手勢(三)

    RotationGesture (value?:{ fingers ? :number ; angle ? :number }) 旋轉(zhuǎn)手勢用于觸發(fā)旋轉(zhuǎn)手勢事件,觸發(fā)旋轉(zhuǎn)手勢的最少手指數(shù)量為2指,最大為5指,最小改變度數(shù)為1度,擁有兩個(gè)可選參數(shù): fingers:非必選參數(shù),用于聲明觸發(fā)旋轉(zhuǎn)手勢所需要的最少手指數(shù)量,最小值為2,最大值為5,默認(rèn)值

    2024年02月09日
    瀏覽(25)
  • HarmonyOS/OpenHarmony應(yīng)用開發(fā)-Stage模型ArkTS語言FormExtensionAbility

    FormExtensionAbility模塊提供了卡片擴(kuò)展相關(guān)接口。 說明 : 模塊首批接口從API version 9 開始支持。模塊接口僅可在Stage模型下使用。 導(dǎo)入模塊 : import FormExtensionAbility from \\\'@ohos.app.form.FormExtensionAbility\\\'; 屬性: 名稱 類型 可讀 可寫 說明 context FormExtensionContext 是 否 FormExtensionAbility的上下

    2024年02月01日
    瀏覽(25)
  • HarmonyOS/OpenHarmony(Stage模型)卡片開發(fā)應(yīng)用上下文Context使用場景二

    3.創(chuàng)建其他應(yīng)用或其他Module的Context 基類Context提供創(chuàng)建其他應(yīng)用或其他Module的Context的方法為createModuleContext(moduleName:string),創(chuàng)建其他應(yīng)用或者其他Module的Context,從而通過該Context獲取相應(yīng)的資源信息(例如獲取其他Module的獲取應(yīng)用開發(fā)路徑信息)。 調(diào)用createModuleContext(moduleNa

    2024年02月11日
    瀏覽(23)
  • HarmonyOS/OpenHarmony(Stage模型)卡片開發(fā)應(yīng)用上下文Context使用場景一

    HarmonyOS/OpenHarmony(Stage模型)卡片開發(fā)應(yīng)用上下文Context使用場景一

    1.獲取應(yīng)用文件路徑 基類Context提供了獲取應(yīng)用文件路徑的能力,ApplicationContext、AbilityStageContext、UIAbilityContext和ExtensionContext均繼承該能力。應(yīng)用文件路徑屬于應(yīng)用沙箱路徑。上述各類Context獲取的應(yīng)用文件路徑有所不同。 通過ApplicationContext獲取應(yīng)用級(jí)別的應(yīng)用文件路徑,此路

    2024年02月11日
    瀏覽(28)
  • 鴻蒙(HarmonyOS)應(yīng)用開發(fā)——應(yīng)用程序入口UIAbility(題目答案)

    1.一個(gè)應(yīng)用只能有一個(gè)UIAbility。 錯(cuò)誤(False) 解析:可以有多個(gè),也可以有一個(gè) 2.創(chuàng)建的Empty Ability模板工程,初始會(huì)生成一個(gè)UIAbility文件。 正確(True) 3.每調(diào)用一次router.pushUrl()方法,頁面路由棧數(shù)量均會(huì)加1。 錯(cuò)誤(False) 解析: pushUrl()有兩種模式,一種單實(shí)例模式,一種是多實(shí)例

    2024年02月04日
    瀏覽(30)
  • HarmonyOS 應(yīng)用開發(fā)之UIAbility組件間交互(設(shè)備內(nèi))

    HarmonyOS 應(yīng)用開發(fā)之UIAbility組件間交互(設(shè)備內(nèi))

    UIAbility是系統(tǒng)調(diào)度的最小單元。在設(shè)備內(nèi)的功能模塊之間跳轉(zhuǎn)時(shí),會(huì)涉及到啟動(dòng)特定的UIAbility,該UIAbility可以是應(yīng)用內(nèi)的其他UIAbility,也可以是其他應(yīng)用的UIAbility(例如啟動(dòng)三方支付UIAbility)。 本文將從如下場景分別介紹設(shè)備內(nèi)UIAbility間的交互方式。對(duì)于跨設(shè)備的應(yīng)用組件交

    2024年04月12日
    瀏覽(18)
  • HarmonyOS/OpenHarmony(Stage模型)卡片開發(fā)AbilityStage組件容器

    AbilityStage是一個(gè)Module級(jí)別的組件容器,應(yīng)用的HAP在首次加載時(shí)會(huì)創(chuàng)建一個(gè)AbilityStage實(shí)例,可以對(duì)該Module進(jìn)行初始化等操作。 AbilityStage與Module一一對(duì)應(yīng),即一個(gè)Module擁有一個(gè)AbilityStage。 DevEco Studio默認(rèn)工程中未自動(dòng)生成AbilityStage,如需要使用AbilityStage的能力,可以手動(dòng)新建一個(gè)

    2024年02月11日
    瀏覽(22)
  • HarmonyOS Stage模型 UIAbility生命周期狀態(tài)

    HarmonyOS Stage模型 UIAbility生命周期狀態(tài)

    UIAbility的生命周期包括Create、Foreground、Background、Destroy四個(gè)狀態(tài) Create 狀態(tài),在UIAbility實(shí)例 創(chuàng)建 時(shí)觸發(fā),對(duì)應(yīng)onCreate回調(diào)。可以在onCreate回調(diào)中進(jìn)行相關(guān)初始化操作 Foreground 狀態(tài),在UIAbility 切換至前臺(tái) 時(shí)觸發(fā)。對(duì)應(yīng)onForeground回調(diào),在UIAbility的UI頁面可見之前,即UIAbility切換至

    2024年01月16日
    瀏覽(59)
  • HarmonyOS應(yīng)用開發(fā)學(xué)習(xí)筆記 UIAbility組件與UI的數(shù)據(jù)同步 EventHub、globalThis

    HarmonyOS應(yīng)用開發(fā)學(xué)習(xí)筆記 UIAbility組件與UI的數(shù)據(jù)同步 EventHub、globalThis

    1、 HarmoryOS Ability頁面的生命周期 2、 @Component自定義組件 3、HarmonyOS 應(yīng)用開發(fā)學(xué)習(xí)筆記 ets組件生命周期 4、HarmonyOS 應(yīng)用開發(fā)學(xué)習(xí)筆記 ets組件樣式定義 @Styles裝飾器:定義組件重用樣式 @Extend裝飾器:定義擴(kuò)展組件樣式 5、HarmonyOS 應(yīng)用開發(fā)學(xué)習(xí)筆記 state狀態(tài)管理概述 6、HarmonyO

    2024年02月03日
    瀏覽(31)
  • 《HarmonyOS開發(fā) – OpenHarmony開發(fā)筆記(基于小型系統(tǒng))》第4章 OpenHarmony應(yīng)用開發(fā)實(shí)例

    《HarmonyOS開發(fā) – OpenHarmony開發(fā)筆記(基于小型系統(tǒng))》第4章 OpenHarmony應(yīng)用開發(fā)實(shí)例

    開發(fā)環(huán)境 : 開發(fā)系統(tǒng):Ubuntu 20.04 開發(fā)板:Pegasus物聯(lián)網(wǎng)開發(fā)板 MCU:Hi3861 OpenHarmony版本:3.0.1-LTS 1.新建工程及源碼 新建目錄 在applications/sample/myapp中新建src目錄以及myapp.c文件,代碼如下所示。 新建編譯組織文件 新建applications/sample/myapp/BUILD.gn文件,內(nèi)容如下所示: static_libr

    2024年02月09日
    瀏覽(37)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包