衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙Ability Kit(程序框架服務)【UIAbility組件基本用法】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-06 11:02 ? 次閱讀

UIAbility組件基本用法

UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文[UIAbilityContext]。

指定UIAbility的啟動頁面

應用中的UIAbility在啟動過程中,需要指定啟動頁面,否則應用啟動后會因為沒有默認加載頁面而導致白屏。可以在UIAbility的onWindowStageCreate()生命周期回調中,通過[WindowStage]對象的loadContent()方法設置啟動頁面。

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

export default class EntryAbility extends UIAbility {
  onWindowStageCreate(windowStage: window.WindowStage): void {
    // Main window is created, set main page for this ability
    windowStage.loadContent('pages/Index', (err, data) = > {
      // ...
    });
  }
  // ...
}

說明: 在DevEco Studio中創建的UIAbility中,該UIAbility實例默認會加載Index頁面,根據需要將Index頁面路徑替換為需要的頁面路徑即可。 開發前請熟悉鴻蒙開發指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

新文檔.png

獲取UIAbility的上下文信息

UIAbility類擁有自身的上下文信息,該信息為[UIAbilityContext]類的實例,[UIAbilityContext]類擁有abilityInfo、currentHapModuleInfo等屬性。通過UIAbilityContext可以獲取UIAbility的相關配置信息,如包代碼路徑、Bundle名稱、Ability名稱和應用程序需要的環境狀態等屬性信息,以及可以獲取操作UIAbility實例的方法(如startAbility()connectServiceExtensionAbility()terminateSelf()等)。 如果需要在頁面中獲得當前Ability的Context,可調用[getContext]接口獲取當前頁面關聯的UIAbilityContext或ExtensionContext。

  • 在UIAbility中可以通過this.context獲取UIAbility實例的上下文信息。

    import UIAbility from '@ohos.app.ability.UIAbility';
    import AbilityConstant from '@ohos.app.ability.AbilityConstant';
    import Want from '@ohos.app.ability.Want';
    
    export default class EntryAbility extends UIAbility {
      onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
        // 獲取UIAbility實例的上下文
        let context = this.context;
        // ...
      }
    }
    
  • 在頁面中獲取UIAbility實例的上下文信息,包括導入依賴資源context模塊和在組件中定義一個context變量兩個部分。

    import common from '@ohos.app.ability.common';
    import Want from '@ohos.app.ability.Want';
    
    @Entry
    @Component
    struct Page_EventHub {
      private context = getContext(this) as common.UIAbilityContext;
    
      startAbilityTest() : void {
        let want: Want = {
          // Want參數信息
        };
        this.context.startAbility(want);
      }
    
      // 頁面展示
      build() {
        // ...
      }
    }
    

    也可以在導入依賴資源context模塊后,在具體使用[UIAbilityContext]前進行變量定義。

    import common from '@ohos.app.ability.common';
    import Want from '@ohos.app.ability.Want';
    
    @Entry
    @Component
    struct Page_UIAbilityComponentsBasicUsage {
    
      startAbilityTest(): void {
        let context = getContext(this) as common.UIAbilityContext;
        let want: Want = {
          // Want參數信息
        };
        context.startAbility(want);
      }
    
      // 頁面展示
      build() {
        // ...
      }
    }
    

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 框架
    +關注

    關注

    0

    文章

    403

    瀏覽量

    17543
  • 組件
    +關注

    關注

    1

    文章

    517

    瀏覽量

    17923
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43050
收藏 人收藏

    評論

    相關推薦

    鴻蒙Ability Kit程序框架服務)【UIAbility組件生命周期】

    當用戶打開、切換和返回到對應應用時,應用中的UIAbility實例會在其生命周期的不同狀態之間轉換。UIAbility類提供了一系列回調,通過這些回調可以知道當前UIAbility實例的某個狀態發生改變,會經過
    的頭像 發表于 05-30 21:51 ?1632次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>UIAbility</b><b class='flag-5'>組件</b>生命周期】

    鴻蒙Ability Kit程序框架服務)【UIExtensionAbility】

    [UIExtensionAbility]是UI類型的ExtensionAbility組件,需要與[UIExtensionComponent]一起配合使用,開發者可以在UIAbility的頁面中通過
    的頭像 發表于 06-05 09:19 ?1483次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【UIExtensionAbility】

    鴻蒙開發-應用程序框架UIAbility的使用

    UIAbility概述 UIAbility是一種包含用戶界面的應用組件,主要用于和用戶進行交互。UIAbility也是系統調度的單元,為應用提供窗口在其中繪制界面。 每一個
    發表于 01-17 16:36

    鴻蒙應用模型:【Ability Kit】簡介

    Ability Kit程序框架服務)提供了應用程序開發和運行的應用模型,是系統為開發者提供的應
    的頭像 發表于 05-29 14:41 ?714次閱讀
    <b class='flag-5'>鴻蒙</b>應用模型:【<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>】簡介

    鴻蒙Ability Kit程序框架服務)【UIAbility組件概述】

    UIAbility組件是一種包含UI的應用組件,主要用于和用戶交互。
    的頭像 發表于 05-30 20:17 ?485次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>UIAbility</b><b class='flag-5'>組件</b>概述】

    鴻蒙Ability Kit程序框架服務)【UIAbility組件生命周期】實例

    本文檔主要描述了應用運行過程中UIAbility和自定義組件的生命周期。對于UIAbility,描述了Create、Foreground、Background、Destroy四種生命周期。對于頁面
    的頭像 發表于 05-31 15:03 ?1178次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>UIAbility</b><b class='flag-5'>組件</b>生命周期】實例

    鴻蒙Ability Kit程序框架服務)【UIAbility組件啟動模式】

    UIAbility的啟動模式是指UIAbility實例在啟動時的不同呈現狀態。針對不同的業務場景,系統提供了三種啟動模式:
    的頭像 發表于 06-06 11:05 ?911次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>UIAbility</b><b class='flag-5'>組件</b>啟動模式】

    鴻蒙Ability Kit程序框架服務)【UIAbility組件與UI的數據同步】

    基于當前的應用模型,可以通過以下幾種方式來實現UIAbility組件與UI之間的數據同步。
    的頭像 發表于 06-03 10:26 ?552次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>UIAbility</b><b class='flag-5'>組件</b>與UI的數據同步】

    鴻蒙Ability Kit程序框架服務)【UIAbility組件間交互(設備內)】

    UIAbility是系統調度的最小單元。在設備內的功能模塊之間跳轉時,會涉及到啟動特定的UIAbility,該UIAbility可以是應用內的其他UIAbility,也可以是其他應用的
    的頭像 發表于 06-03 09:53 ?720次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>UIAbility</b><b class='flag-5'>組件</b>間交互(設備內)】

    鴻蒙Ability Kit程序框架服務)【UIAbility內和UIAbility間頁面的跳轉】

    基于Stage模型下的UIAbility開發,實現UIAbility內和UIAbility間頁面的跳轉。
    的頭像 發表于 06-03 14:13 ?821次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>UIAbility</b>內和<b class='flag-5'>UIAbility</b>間頁面的跳轉】

    鴻蒙Ability Kit程序框架服務)【ExtensionAbility組件

    ExtensionAbility組件是基于特定場景(例如服務卡片、輸入法等)提供的應用組件,以便滿足更多的使用場景。
    的頭像 發表于 06-04 15:54 ?663次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【ExtensionAbility<b class='flag-5'>組件</b>】

    鴻蒙Ability Kit程序框架服務)【組件啟動規則(Stage模型)】

    組件啟動規則(Stage模型) 啟動組件是指一切啟動或連接應用組件的行為: 啟動UIAbility、ServiceExtensionAbility、DataShareExtension
    的頭像 發表于 06-10 18:47 ?991次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【<b class='flag-5'>組件</b>啟動規則(Stage模型)】

    鴻蒙開發Ability Kit程序框架服務:任務管理

    AbilityRecord:系統服務側管理一個UIAbility實例的最小單元,對應一個應用側的UIAbility組件實例。系統服務側管理
    的頭像 發表于 06-24 14:46 ?515次閱讀
    <b class='flag-5'>鴻蒙</b>開發<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:任務管理

    鴻蒙開發Ability Kit程序框架服務:FA模型與Stage模型應用組件互通綜述

    FA模型與Stage模型是兩套不同的應用模型,他們擁有各自的組件。FA模型提供三種應用組件,分別是PageAbility、ServiceAbility和DataAbility。Stage模型提供了兩種應用組件,分別是
    的頭像 發表于 06-24 16:43 ?581次閱讀
    <b class='flag-5'>鴻蒙</b>開發<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:FA模型與Stage模型應用<b class='flag-5'>組件</b>互通綜述

    鴻蒙開發Ability Kit程序框架服務:FA模型啟動Stage模型UIAbility

    本文介紹FA模型的三種應用組件如何啟動Stage模型的UIAbility組件
    的頭像 發表于 06-25 16:00 ?421次閱讀
    <b class='flag-5'>鴻蒙</b>開發<b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b><b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>:FA模型啟動Stage模型<b class='flag-5'>UIAbility</b>
    维多利亚娱乐| 威尼斯人娱乐下载平台| 百家乐官网赌场软件| 千亿娱乐| 百家乐保证赢| 大上海百家乐官网娱乐城| 澳门百家乐官网代理| 大发888战神娱乐| 噢门百家乐玩的技巧| 百家乐官网任你博娱乐| 阳原县| 大发888中文版| 线上百家乐赢钱| 长赢百家乐官网赌徒| 百家乐官网平台是最好的娱乐城| bet365指数| 百家乐技巧开户| 博彩百家乐心得| 百家乐官网群详解包杀| 任我赢百家乐官网自动投注分析系统| 皇冠网投| 大发888鸿博博彩| 百家乐棋牌游| 真人百家乐开户须知| 名人百家乐官网的玩法技巧和规则 | 怎么赢百家乐的玩法技巧和规则| 百家乐筹码订做| 任我赢百家乐官网软件| 百家乐官网注册送彩金平台| 鸿宝娱乐| 大发888网页登录| 百家乐过滤工具| 新锦江百家乐娱乐平台| 百家乐真人游戏开户| 新濠百家乐官网的玩法技巧和规则 | 大发888官方 df888| 免费百家乐追号工具| 百家乐平台送彩金| 金宝博百家乐游戏| 尊龙百家乐官网娱乐城| 百家乐官网娱乐平台网|