您的位置:首页 > 文旅 > 美景 > 汕头人大_网上推广公司_网络推广员好做吗_近期国内新闻

汕头人大_网上推广公司_网络推广员好做吗_近期国内新闻

2024/12/23 9:34:36 来源:https://blog.csdn.net/qq_15062089/article/details/142676177  浏览:    关键词:汕头人大_网上推广公司_网络推广员好做吗_近期国内新闻
汕头人大_网上推广公司_网络推广员好做吗_近期国内新闻

文章目录

    • 组件概述
    • 生命周期
    • 启动模式
    • 基本用法

在鸿蒙操作系统(HarmonyOS)的开发过程中,UIAbility组件是构建应用界面的关键。本文将带您了解UIAbility组件的概述、生命周期、启动模式以及基本用法,并通过代码示例帮助您更好地掌握这一组件。

组件概述

UIAbility是HarmonyOS应用开发中的一个重要组件,用于处理用户界面交互。它类似于Android中的Activity和iOS中的ViewController。UIAbility提供了丰富的UI控件,开发者可以通过这些控件构建出美观、易用的应用界面。
UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。例如,在支付应用中,可以将入口功能和收付款功能分别配置为独立的UIAbility。
每一个UIAbility组件实例都会在最近任务列表中显示一个对应的任务。
UIAbility组件具有以下特点:

  • 提供页面导航、布局、事件处理等功能。
  • 支持多种布局方式,如DirectionalLayout、DependentLayout等。
  • 支持自定义UI控件。
    声明配置
    为使应用能够正常使用UIAbility,需要在module.json5配置文件的abilities标签中声明UIAbility的名称、入口、标签等相关信息。
{"module": {"name": "entry","type": "entry","description": "$string:module_desc","mainElement": "EntryAbility","deviceTypes": ["phone","tablet"],"deliveryWithInstall": true,"installationFree": false,"pages": "$profile:main_pages","abilities": [{"name": "EntryAbility","srcEntry": "./ets/entryability/EntryAbility.ets","description": "$string:EntryAbility_desc","icon": "$media:icon_bak","label": "$string:EntryAbility_label","startWindowIcon": "$media:icon_bak","startWindowBackground": "$color:start_window_background","exported": true,"skills": [{"entities": ["entity.system.home"],"actions": ["action.system.home"]}]}]}
}

生命周期

官网地址:生命周期状态说明
UIAbility组件的生命周期包括以下几个状态:

  1. ** 初始化(UIAbility Start)**:在Ability被创建时调用,用于初始化Ability。
  2. ** 启动(create)**:在Ability可见时调用。
  3. 前台运行(Foreground):在Ability进入前台时调用。
  4. 后台运行(Background):在Ability进入后台时调用。
  5. 销毁(onDestroy):在Ability被销毁时调用。
    以下是一个简单的生命周期示例:
    在这里插入图片描述
public class MyAbility extends Ability {@Overridepublic void onInitialize() {super.onInitialize();// 初始化操作}@Overridepublic void onStart(Intent intent) {super.onStart(intent);// 启动操作}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);// 前台运行操作}@Overridepublic void onBackground() {super.onBackground();// 后台运行操作}@Overridepublic void onStop() {super.onStop();// 停止操作}@Overridepublic void onDestroy() {super.onDestroy();// 销毁操作}
}

启动模式

UIAbility支持以下启动模式:

  1. 标准模式(Standard):每次启动都会创建一个新的实例。
  2. 单例模式(Singleton):整个应用生命周期内只创建一个实例。
  3. 栈顶复用模式(SingleInstance):如果栈顶存在实例,则复用该实例,否则创建新实例。
    在config.json中配置启动模式:
{"module": {"abilities": [{"name": ".MyAbility","launchType": "standard"}]}
}

基本用法

以下是一个简单的UIAbility组件用法示例,创建一个包含文本和按钮的页面:

public class MyAbility extends Ability {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setUIContent(ResourceTable.Layout_ability_my);// 查找组件Text text = (Text) findComponentById(ResourceTable.Id_text);Button button = (Button) findComponentById(ResourceTable.Id_button);// 设置文本text.setText("Hello HarmonyOS!");// 设置按钮点击事件button.setClickedListener(component -> {text.setText("Button clicked!");});}
}

对应的布局文件(ability_my.xml):

<DirectionalLayoutxmlns:ohos="http://schemas.huawei.com/res/ohos"ohos:height="match_parent"ohos:width="match_parent"ohos:orientation="vertical"><Textohos:id="$+id:text"ohos:height="match_content"ohos:width="match_parent"ohos:text="Hello HarmonyOS!"ohos:text_size="20fp"ohos:padding="20vp"/><Buttonohos:id="$+id:button"ohos:height="match_content"ohos:width="match_content"ohos:text="Click Me"ohos:text_size="20fp"ohos:padding="20vp"/>
</DirectionalLayout>

通过以上示例,您已经了解了如何在HarmonyOS应用中使用UIAbility组件构建界面。掌握UIAbility组件是开发HarmonyOS应用的关键,希望本文能帮助您更好地入门鸿蒙开发。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com