HarmonyOS/OpenHarmony应用开发-Stage模型ArkTS语言FormExtensionAbility

这篇具有很好参考价值的文章主要介绍了HarmonyOS/OpenHarmony应用开发-Stage模型ArkTS语言FormExtensionAbility。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FormExtensionAbility模块提供了卡片扩展相关接口。

说明:

模块首批接口从API version 9 开始支持。模块接口仅可在Stage模型下使用。

导入模块:

import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';

属性:

名称

类型

可读

可写

说明

context

FormExtensionContext

FormExtensionAbility的上下文环境,继承自ExtensionContext。

onAddForm

onAddForm(want: Want): formBindingData.FormBindingData

卡片提供方接收创建卡片的通知接口。

参数名

类型

必填

说明

want

Want

当前ExtensionAbility相关的Want类型信息,包括卡片ID、卡片名称、卡片样式等。这些卡片信息必须作为持久数据进行管理,以便后续更新和删除卡片。

onCastToNormalForm

onCastToNormalForm(formId: string): void

卡片提供方接收临时卡片转常态卡片的通知接口。

参数名

类型

必填

说明

formId

string

请求转换为常态的卡片标识。

onUpdateForm

onUpdateForm(formId: string): void

卡片提供方接收更新卡片的通知接口。获取最新数据后调用formProvider的updateForm接口刷新卡片数据。

参数名

类型

必填

说明

formId

string

请求更新的卡片ID。

onChangeFormVisibility

onChangeFormVisibility(newStatus: { [key: string]: number }): void

卡片提供方接收修改可见性的通知接口。

参数名

类型

必填

说明

newStatus

{ [key: string]: number }

请求修改的卡片标识和可见状态。

onFormEvent

onFormEvent(formId: string, message: string): void

卡片提供方接收处理卡片事件的通知接口。

参数名

类型

必填

说明

formId

string

请求触发事件的卡片标识。

message

string

事件消息。

onRemoveForm

onRemoveForm(formId: string): void

卡片提供方接收销毁卡片的通知接口。

参数名

类型

必填

说明

formId

string

请求销毁的卡片标识。

onConfigurationUpdate

onConfigurationUpdate(newConfig: Configuration): void;

当系统配置更新时调用。

参数名

类型

必填

说明

newConfig

Configuration

表示需要更新的配置信息。

onAcquireFormState

onAcquireFormState?(want: Want): formInfo.FormState;

卡片提供方接收查询卡片状态通知接口。默认返回卡片初始状态。

参数名

类型

必填

说明

want

Want

want表示获取卡片状态的描述。描述包括包名称、能力名称、模块名称、卡片名和卡片维度。

接口示例:

import formInfo from '@ohos.app.form.formInfo';
import formBindingData from '@ohos.app.form.formBindingData';
import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
import formProvider from '@ohos.app.form.formProvider';

export default class formExtensionAbility extends FormExtensionAbility {
  onAddForm(want) {
    //卡片提供方接收创建卡片的通知接口。
    console.log('FormExtensionAbility onAddForm, want:' + want.abilityName);
    let dataObj1 = {
      name:"张三",
    };
    let obj1 = formBindingData.createFormBindingData(dataObj1);
    return obj1;
  }

  onCastToNormalForm(formId) {
    //卡片提供方接收临时卡片转常态卡片的通知接口。
    console.log('FormExtensionAbility onCastToNormalForm, formId:' + formId);
  }

  onUpdateForm(formId) {
    //卡片提供方接收临时卡片转常态卡片的通知接口。
    console.log('FormExtensionAbility onUpdateForm, formId:' + formId);
    let obj2 = formBindingData.createFormBindingData({
      title: "张三",
    });
    formProvider.updateForm(formId, obj2).then((data) => {
      console.log('FormExtensionAbility context updateForm, data:' + data);
    }).catch((error) => {
      console.error('Operation updateForm failed. Cause: ' + error);
    });
  }

  onChangeFormVisibility(newStatus) {
    //卡片提供方接收临时卡片转常态卡片的通知接口。
    console.log('FormExtensionAbility onChangeFormVisibility, newStatus:' + newStatus);
    let obj2 = formBindingData.createFormBindingData({
      temperature: "22c",
      time: "22:00"
    });

    for (let key in newStatus) {
      console.log('FormExtensionAbility onChangeFormVisibility, key:' + key + ", value=" + newStatus[key]);
      formProvider.updateForm(key, obj2).then((data) => {
        console.log('FormExtensionAbility context updateForm, data:' + data);
      }).catch((error) => {
        console.error('Operation updateForm failed. Cause: ' + error);
      });
    }
  }

  onFormEvent(formId, message) {
    //卡片提供方接收处理卡片事件的通知接口。
    console.log('FormExtensionAbility onFormEvent, formId:' + formId + ", message:" + message);
  }

  onRemoveForm(formId) {
    //卡片提供方接收销毁卡片的通知接口。
    console.log('FormExtensionAbility onRemoveForm, formId:' + formId);
  }

  onConfigurationUpdate(config) {
    //当系统配置更新时调用。
    console.log('onConfigurationUpdate, config:' + JSON.stringify(config));
  }

  onAcquireFormState(want) {
    //卡片提供方接收查询卡片状态通知接口。默认返回卡片初始状态。
    console.log('FormExtensionAbility onAcquireFormState, want:' + want);
    return formInfo.FormState.UNKNOWN;
  }
}文章来源地址https://www.toymoban.com/news/detail-428797.html

到了这里,关于HarmonyOS/OpenHarmony应用开发-Stage模型ArkTS语言FormExtensionAbility的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • HarmonyOS/OpenHarmony应用开发-Stage模型UIAbility组件使用(六)

    HarmonyOS/OpenHarmony应用开发-Stage模型UIAbility组件使用(六)

    本文将从如下场景分别介绍设备内UIAbility间的交互方式。 启动应用内的UIAbility。启动应用内的UIAbility并获取返回结果。启动其他应用的UIAbility。启动其他应用的UIAbility并获取返回结果。启动UIAbility的指定页面。通过Call调用实现UIAbility交互(仅对系统应用开放)。 当使用隐式

    2024年02月16日
    浏览(8)
  • HarmonyOS/OpenHarmony应用开发-Stage模型UIAbility组件使用(一)

    HarmonyOS/OpenHarmony应用开发-Stage模型UIAbility组件使用(一)

    一、UIAbility组件概述 1.概述 UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互。 UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口;一个UIAbility组件中可以通过多个页面来实现一个功能模块。每一个UIAbility组件实例,都对应于一个最近任务列表中的

    2024年02月11日
    浏览(9)
  • HarmonyOS/OpenHarmony(Stage模型)卡片开发应用上下文Context使用场景二

    3.创建其他应用或其他Module的Context 基类Context提供创建其他应用或其他Module的Context的方法为createModuleContext(moduleName:string),创建其他应用或者其他Module的Context,从而通过该Context获取相应的资源信息(例如获取其他Module的获取应用开发路径信息)。 调用createModuleContext(moduleNa

    2024年02月11日
    浏览(12)
  • HarmonyOS/OpenHarmony(Stage模型)卡片开发应用上下文Context使用场景一

    HarmonyOS/OpenHarmony(Stage模型)卡片开发应用上下文Context使用场景一

    1.获取应用文件路径 基类Context提供了获取应用文件路径的能力,ApplicationContext、AbilityStageContext、UIAbilityContext和ExtensionContext均继承该能力。应用文件路径属于应用沙箱路径。上述各类Context获取的应用文件路径有所不同。 通过ApplicationContext获取应用级别的应用文件路径,此路

    2024年02月11日
    浏览(15)
  • HarmonyOS/OpenHarmony应用开发-ArkTS语言基本语法说明

    HarmonyOS/OpenHarmony应用开发-ArkTS语言基本语法说明

    图1  示例效果图   本示例中,ArkTS的基本组成如下所示。 图2  ArkTS的基本组成     装饰器: 用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry、@Component和@State都是装饰器,@Component表示自定义组件,@Entry表示该自定义组件为入口组件,@State表示组

    2024年02月07日
    浏览(9)
  • HarmonyOS/OpenHarmony应用开发-ArkTS语言声明式UI描述

    ArkTS以声明方式组合和扩展组件来描述应用程序的UI,同时还提供了基本的属性、事件和子组件配置方法,帮助开发者实现应用交互逻辑。 一、创建组件 根据组件构造方法的不同,创建组件包含有参数和无参数两种方式。 说明,创建组件时不需要new运算符。 1.无参数 如果组

    2024年02月08日
    浏览(8)
  • HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制LazyForEach数据懒加载

    HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制LazyForEach数据懒加载

    LazyForEach从提供的数据源中按需迭代数据,并在每次迭代过程中创建相应的组件。当LazyForEach在滚动容器中使用了,框架会根据滚动容器可视区域按需创建组件,当组件划出可视区域外时,框架会进行组件销毁回收以降低内存占用。 一、接口描述 二、IDataSource类型说明 三、

    2024年02月11日
    浏览(7)
  • HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制if/else条件渲染

    ArkTS提供了渲染控制的能力。条件渲染可根据应用的不同状态,使用if、else和else if渲染对应状态下的UI内容。说明:从API version 9开始,该接口支持在ArkTS卡片中使用。 一、使用规则 支持if、else和else if语句。 if、else if后跟随的条件语句可以使用状态变量。 允许在容器组件内使

    2024年02月12日
    浏览(13)
  • 鸿蒙Stage模型开发—创建你的第一个ArkTS应用

    鸿蒙Stage模型开发—创建你的第一个ArkTS应用

    基本概念 下图展示了Stage模型中的基本概念。 图1 Stage模型概念图 UIAbility组件和ExtensionAbility组件 Stage模型提供UIAbility和ExtensionAbility两种类型的组件,这两种组件都有具体的类承载,支持面向对象的开发方式。 UIAbility组件是一种包含UI界面的应用组件,主要用于和用户交互。

    2024年02月04日
    浏览(53)
  • Stage模型HarmonyOS服务卡片开发ArkTS卡片相关模块

    Stage模型HarmonyOS服务卡片开发ArkTS卡片相关模块

    图1  ArkTS卡片相关模块   FormExtensionAbility:卡片扩展模块,提供卡片创建、销毁、刷新等生命周期回调。 FormExtensionContext:FormExtensionAbility的上下文环境,提供FormExtensionAbility具有的接口和能力。 formProvider:提供卡片提供方相关的接口能力,可通过该模块提供接口实现更新卡

    2024年02月12日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包