HarmonyOS鸿蒙Next万能卡片-Codelabs挑战赛历史上的今天 第三篇 开发选型和工程配置

HarmonyOS鸿蒙Next万能卡片-Codelabs挑战赛历史上的今天 第三篇 开发选型和工程配置

前面的两篇,已经完成了项目的创建,以及效果的展示

【原子化服务-历史上的今天】,第三期

今天我们就来分解该项目,步步为营,做自己的原子化卡片。

大家看到了,我用的是ArkTS语言做的这个原子化,那么为什么我会选择ArkTS作为这次的技术选型呢?

其实这里有一个因素就是学习东西,学新不学旧。这里我给出我为什么选择ArkTS的原因。

开发选型

API 6 API 9及以后版本
系统版本 HarmonyOS 2.0及以上版本 HarmonyOS 3.1及以上版本
开发语言 支持Java、JS 支持ArkTS、JS
应用模型 仅支持FA模型。FA模型为HarmonyOS早期版本支持的模型,已不是主推模型。 支持Stage模型和FA模型。Stage模型为从HarmonyOS 3.1开始新增的模型,将是长期演进的模型。
优点 当前支持设备多,接口功能全。但是再没有新功能。 将持续演进,后续兼容性、扩展性好。
不足 维护阶段,功能不再扩充。 当前支持设备有限。但是未来会是主推

大家看完上面的表格,我相信大家也都知道,我为什么要选择ArkTS,Stage模型作为这次的技术选型了吧。

接下来我们就继续往后走。

上一篇文章中完成了项目的配置,但是还没有对工程配置,

配置的话是需要在form_config.json中进行配置的。

卡片form_config.json配置文件

属性名称 含义 数据类型 是否可缺省
name 表示卡片的类名,字符串最大长度为127字节。 字符串
description 表示卡片的描述。取值可以是描述性内容,也可以是对描述性内容的资源索引,以支持多语言。字符串最大长度为255字节。 字符串 可缺省,缺省为空。
src 表示卡片对应的UI代码的完整路径。当为ArkTS卡片时,完整路径需要包含卡片文件的后缀,如:"./ets/widget/pages/WidgetCard.ets"。当为JS卡片时,完整路径无需包含卡片文件的后缀,如:"./js/widget/pages/WidgetCard" 字符串
uiSyntax 表示该卡片的类型,当前支持如下两种类型: - arkts:当前卡片为ArkTS卡片。 - hml:当前卡片为JS卡片。 字符串 可缺省,缺省值为hml
window 用于定义与显示窗口相关的配置。 对象 可缺省
isDefault 表示该卡片是否为默认卡片,每个UIAbility有且只有一个默认卡片。 - true:默认卡片。 - false:非默认卡片。 布尔值
colorMode 表示卡片的主题样式,取值范围如下: - auto:自适应。 - dark:深色主题。 - light:浅色主题。 字符串 可缺省,缺省值为“auto”。
supportDimensions 表示卡片支持的外观规格,取值范围: - 1 * 2:表示1行2列的二宫格。 - 2 * 2:表示2行2列的四宫格。 - 2 * 4:表示2行4列的八宫格。 - 4 * 4:表示4行4列的十六宫格。 字符串数组
defaultDimension 表示卡片的默认外观规格,取值必须在该卡片supportDimensions配置的列表中。 字符串
updateEnabled 表示卡片是否支持周期性刷新(包含定时刷新和定点刷新),取值范围: - true:表示支持周期性刷新,可以在定时刷新(updateDuration)和定点刷新(scheduledUpdateTime)两种方式任选其一,当两者同时配置时,定时刷新优先生效。 - false:表示不支持周期性刷新。 布尔类型
scheduledUpdateTime 表示卡片的定点刷新的时刻,采用24小时制,精确到分钟。 > 说明 > updateDuration参数优先级高于scheduledUpdateTime,两者同时配置时,以updateDuration配置的刷新时间为准。 字符串 可缺省,缺省时不进行定点刷新。
updateDuration 表示卡片定时刷新的更新周期,单位为30分钟,取值为自然数。 当取值为0时,表示该参数不生效。 当取值为正整数N时,表示刷新周期为30*N分钟。 > 说明 > updateDuration参数优先级高于scheduledUpdateTime,两者同时配置时,以updateDuration配置的刷新时间为准。 数值 可缺省,缺省值为“0”。
formConfigAbility 表示卡片的配置跳转链接,采用URI格式。 字符串 可缺省,缺省值为空。
formVisibleNotify 标识是否允许卡片使用卡片可见性通知。 字符串 可缺省,缺省值为空。
metadata 表示卡片的自定义信息,包含customizeData数组标签。 对象 可缺省,缺省值为空。

配置示例如下:

{
  "forms": [
    {
      "name": "widget",
      "description": "历史上的今天.",
      "src": "./ets/widget/pages/WidgetCard.ets",
      "uiSyntax": "arkts",
      "window": {
        "designWidth": 720,
        "autoDesignWidth": true
      },
      "colorMode": "auto",
      "isDefault": true,
      "updateEnabled": false,
      "scheduledUpdateTime": "10:30",
      "updateDuration": 1,
      "defaultDimension": "2*2",
      "supportDimensions": [
        "2*2"
      ]
    },
    {
      "name": "Secondwidget",
      "description": "历史上的今天",
      "src": "./ets/secondwidget/pages/SecondwidgetCard.ets",
      "uiSyntax": "arkts",
      "window": {
        "designWidth": 720,
        "autoDesignWidth": true
      },
      "colorMode": "auto",
      "isDefault": false,
      "updateEnabled": false,
      "scheduledUpdateTime": "10:30",
      "updateDuration": 1,
      "defaultDimension": "1*2",
      "supportDimensions": [
        "1*2"
      ]
    },
    {
      "name": "Clockwidget",
      "description": "时钟",
      "src": "./ets/clockwidget/pages/ClockwidgetCard.ets",
      "uiSyntax": "arkts",
      "window": {
        "designWidth": 720,
        "autoDesignWidth": true
      },
      "colorMode": "auto",
      "isDefault": false,
      "updateEnabled": false,
      "scheduledUpdateTime": "10:30",
      "updateDuration": 1,
      "defaultDimension": "4*4",
      "supportDimensions": [
        "4*4"
      ]
    },
    {
      "name": "Fourwidget",
      "description": "This is a service widget.",
      "src": "./ets/fourwidget/pages/FourwidgetCard.ets",
      "uiSyntax": "arkts",
      "window": {
        "designWidth": 720,
        "autoDesignWidth": true
      },
      "colorMode": "auto",
      "isDefault": false,
      "updateEnabled": false,
      "scheduledUpdateTime": "10:30",
      "updateDuration": 1,
      "defaultDimension": "2*4",
      "supportDimensions": [
        "2*4"
      ]
    }
  ]
}

这样我们就完成了对应的配置。


更多关于HarmonyOS鸿蒙Next万能卡片-Codelabs挑战赛历史上的今天 第三篇 开发选型和工程配置的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next万能卡片-Codelabs挑战赛历史上的今天 第三篇 开发选型和工程配置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next万能卡片-Codelabs挑战赛的“历史上的今天”项目中,开发选型和工程配置是关键步骤。首先,选择适合的开发工具,如DevEco Studio,并确保安装最新版本的HarmonyOS SDK。接着,配置工程环境,包括设置项目名称、包名和最低兼容版本。在工程配置中,需添加必要的依赖库,如网络请求库和图片加载库,以支持数据获取和展示。最后,配置卡片布局和样式,确保在不同设备上都能良好显示。

回到顶部