IT评测·应用市场-qidao123.com

标题: 【鸿蒙】OpenHarmony服务卡片的用法详解 [打印本页]

作者: 傲渊山岳    时间: 2024-6-11 10:03
标题: 【鸿蒙】OpenHarmony服务卡片的用法详解
卡片概述

卡片是一种界面展示情势,可以将应用的重要信息或操作前置到卡片,以达到服务直达,淘汰体验层级的目标。

卡片展示
卡片常用于嵌入到其他应用(当前仅支持系统应用,比方 Launcher)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。
卡片的基本概念:
卡片提供方:提供卡片显示内容原子化服务,控制卡片的显示内容、控件布局以及控件点击变乱。
包含以下模块:

卡片使用方:显示卡片内容的宿主应用,负责显示卡片,控制卡片在宿主中展示的位置。
卡片管理服务:用于管理系统中所添加卡片的常驻署理服务,包括卡片对象的管理与使用,以及卡片周期性革新等。
包含以下模块:


卡片使用方和提供方不要求常驻运行,在必要添加/删除/请求更新卡片时,卡片管理服务会拉起卡片提供方获取卡片信息。
开发者仅需作为卡片提供方进行卡片内容的开发,卡片使用方和卡片管理服务由系统自动处置惩罚。
场景介绍

基于****FA 模子的卡片提供方开发,主要涉及如下功能逻辑:

卡片开发指导

卡片提供方创建卡片

1.打开 DevEco 3.0.0.993 新建一个项目
2.选择一个 module 创建卡片,每个 module 最多创建 16 张卡片,此处以 entry 为例。
选中 entry 文件夹,右键 New–>Extension Ability -->Service Widget

3.任选一种卡片模板。OpenHarmony 目前支持以下三种卡片模板:
HelloWorld : 支持低代码开发的 HelloWorld 卡片。 Image With Information : 图文卡片。图文卡片模板主要在于展现图片和一定数量文本的搭配,在这种布局下,图片和文本属于同等重要的信息。在不同尺寸下,图片巨细和文本数量会发生一定变化,用于凸显关键信息。 Immersive Information : 沉浸式卡片。 沉浸式卡片的装饰性较强,能够较好的提升卡片品格感并起到装饰桌面的作用,合理的去布局信息与背景图片之间的空间比例,可以提升用户的个性化使用体验。

4.设置卡片信息。
Service widget name:卡片的名称,卡片名称不能重复,且只能包含数字、字母和下划线。
Description:卡片的描述信息。
Enable Super Visual:是否选择低代码方式开发。
Language:界面开发语言,目前只支持 js。
Support dimensions:选择卡片的规格。部分卡片支持同时设置多种规格。 Ability name:选择一个挂靠服务卡片的 Page Ability,或者创建一个新的 Page Ability。 Module name:卡片所属的模块。

5.点击 Finish,完成卡片的创建之后,会天生如下文件。



6.安装应用到装备上,在装备的桌面上长按应用图标,等候出现服务卡片字样,点击后选择必要的卡片尺寸,添加到屏幕。

卡片页面文件说明

JS 卡片页面通过 hml+css+json 开发

  1. <div class="container">
  2.       <stack >
  3.           <div class="container-inner" onclick="routerPage" >
  4.               <!-- $t('strings.temperature') 是从string.json资源文件中读取值-->
  5.               <!-- temperature 是获取index.json文件的data中定义的变量 -->
  6.               <text class="title" show="true">{
  7.    {
  8.     $t('strings.temperature') }}{
  9.    {
  10.    temperature}} ℃</text>
  11.               <text class="title" onclick="onUpdateEvent">{
  12.    {
  13.     $t('strings.time') }} {
  14.    {
  15.    time}}</text>
  16.           </div>
  17.       </stack>
  18.   </div>
复制代码


  1. .container {
  2.    
  3.     flex-direction: column;
  4.     justify-content: center;
  5.     align-items: center;
  6. }
复制代码


  1. "data": {
  2.    
  3.     "temperature": "0",
  4.     "time": "00:00:00"
  5. }
复制代码


  1. "actions": {
  2.    
  3.     "routerPage": {
  4.    
  5.         "action": "router",
  6.         "abilityName": "ohos.samples.FormApplication.MainAbility",
  7.         "params": {
  8.    
  9.             "message": "add detail"
  10.         }
  11.     },
  12.     "onUpdateEvent": {
  13.    
  14.         "action": "message",
  15.         "params": {
  16.    
  17.             "name" : "onUpdateEvent",
  18.             "message": "add detail"
  19.         }
  20.     },
  21. }
复制代码

卡片配置文件

Stage 模子下的卡片配置文件

module.json5
卡片必要在应用配置文件 module.json5 中的 extensionAbilities 标签下,配置 ExtensionAbility 相关信息。
内部字段结构说明:
    属性名称   寄义   数据类型   是否可缺省         name   表现 ExtensionAbility 的名字。   字符串   否       srcEntrance   表现 ExtensionAbility 所对应的生命周期代码的路径。   字符串   否       description   表现 ExtensionAbility 的描述。可以是表现描述内容的字符串,也可以是对描述内容的资源索引以支持多语言。   字符串   可缺省,缺省值为空。       icon   表现 ExtensionAbility 的图标资源文件的索引。   字符串   可缺省,缺省值为空。       label   表现 ExtensionAbility 的标签信息,即 ExtensionAbility 对外显示的笔墨描述信息。取值可以是描述性内容,也可以是标识 label 的资源索引。   字符串   可缺省,缺省值为空。       type   表现 ExtensionAbility 的类型,对于当前 FormExtensionAbility 的开发,必要将其配置为 form。   字符串   否       permissions   表现其他应用的 Ability 调用此 ExtensionAbility 时必要申请的权限。   字符串数组   可缺省,缺省值为空。       metadata   表现 ExtensionAbility 的元信息,用于描述 ExtensionAbility 的配置信息。   对象   可缺省,缺省值为空       uri   为当前 ExtensionAbility 提供的 uri 数据。   字符串   可缺省,缺省值为空。       readPermission   另一个应用程序的 ExtensionAbility 调用当前 ExtensionAbility 所需的读权限。   字符串   可缺省,缺省值为空。       writePermission   另一个应用程序的 ExtensionAbility 调用当前 ExtensionAbility 所需的写权限。   字符串   可缺省,缺省值为空。       visible   表明当前 ExtensionAbility 可否被其他应用调起。   布尔   false   对于 FormExtensionAbility 来说,必要填写 metadata 元信息标签,其中键名称为固定字符串"ohos.extension.form",资源为卡片的具体配置信息的索引。
示例:
  1. "extensionAbilities": [
  2.    
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4