HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第34天,UIAbility组件基本用法。

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第34天,UIAbility组件基本用法。

1、UIAbility组件基本用法

UIAbility组件的基本用法包括:指定UIAbility的启动页面以及获取UIAbility的上下文UIAbilityContext

2、指定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) {
        // Main window is created, set main page for this ability
        windowStage.loadContent('pages/Index', (err, data) => {
            // ...
        });
    }

    // ...
}

说明

在DevEco Studio中创建的UIAbility中,该UIAbility实例默认会加载Index页面,根据需要将Index页面路径替换为需要的页面路径即可。

3、获取UIAbility的上下文信息

UIAbility类拥有自身的上下文信息,该信息为UIAbilityContext类的实例,UIAbilityContext类拥有abilityInfo、currentHapModuleInfo等属性。通过UIAbilityContext可以获取UIAbility的相关配置信息,如包代码路径、Bundle名称、Ability名称和应用程序需要的环境状态等属性信息,以及可以获取操作UIAbility实例的方法(如startAbility()、connectServiceExtensionAbility()、terminateSelf()等)。

  • 在UIAbility中可以通过this.context获取UIAbility实例的上下文信息。
import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    onCreate(want, launchParam) {
        // 获取UIAbility实例的上下文
        let context = this.context;

        // ...
    }
}

在页面中获取UIAbility实例的上下文信息,包括导入依赖资源context模块和在组件中定义一个context变量两个部分。

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

@Entry
@Component
struct Index {
  private context = getContext(this) as common.UIAbilityContext;

  startAbilityTest() {
    let want = {
      // Want参数信息
    };
    this.context.startAbility(want);
  }

  // 页面展示
  build() {
    // ...
  }
}

也可以在导入依赖资源context模块后,在具体使用UIAbilityContext前进行变量定义。

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

@Entry
@Component
struct Index {

  startAbilityTest() {
    let context = getContext(this) as common.UIAbilityContext;
    let want = {
      // Want参数信息
    };
    context.startAbility(want);
  }

  // 页面展示
  build() {
    // ...
  }
}

更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第34天,UIAbility组件基本用法。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS鸿蒙Next中,UIAbility组件是应用的基本构建块之一,用于管理应用的生命周期和界面交互。

  1. 创建UIAbility组件:在ets文件中定义UIAbility组件,继承自UIAbility类,并实现必要的生命周期方法。

  2. 生命周期管理:

    • onCreate:在UIAbility组件创建时调用,用于初始化资源。
    • onDestroy:在UIAbility组件销毁时调用,用于释放资源。
    • onForeground:在UIAbility组件进入前台时调用,用于恢复界面状态。
    • onBackground:在UIAbility组件进入后台时调用,用于保存界面状态。
  3. 页面跳转:通过startAbility方法启动其他UIAbility组件,实现页面跳转。

  4. 数据传递:使用AbilityConstant.StartOptions对象传递数据到目标UIAbility组件。

  5. 事件处理:在UIAbility组件中处理用户交互事件,如点击、滑动等。

  6. 资源管理:在UIAbility组件中管理应用资源,如图片、字符串等。

  7. 权限管理:在UIAbility组件中申请和管理应用权限,确保应用功能正常运行。

  8. 多任务处理:通过onNewWant方法处理多任务场景,如从其他应用跳转到当前应用。

  9. 异常处理:在UIAbility组件中捕获和处理异常,确保应用稳定性。

  10. 日志记录:使用hilog模块记录应用运行日志,便于调试和问题排查。

UIAbility组件的使用是HarmonyOS应用开发的基础,掌握其基本用法对于构建高效、稳定的应用至关重要。

更多关于HarmonyOS 鸿蒙Next ArkTS语言教程入门学习第34天,UIAbility组件基本用法。的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,UIAbility是应用的基本组件之一,负责管理应用的UI界面和生命周期。以下是UIAbility的基本用法:

  1. 创建UIAbility:在entry/src/main/ets/entryability目录下创建EntryAbility.ts文件,继承UIAbility类,并实现onCreateonDestroy等生命周期方法。

  2. 配置Ability:在module.json5文件中配置abilities字段,指定EntryAbility的路径和启动模式。

  3. 启动UIAbility:通过startAbility方法启动UIAbility,可以传递参数。

  4. 生命周期管理:UIAbility的生命周期包括onCreateonWindowStageCreateonForegroundonBackgroundonDestroy等,开发者可以在这些方法中处理相应的逻辑。

  5. 页面跳转:在UIAbility中,可以通过windowStage.loadContent方法加载页面,并通过router.push实现页面跳转。

掌握这些基本用法,可以帮助开发者更好地管理和控制应用的UI界面。

回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!