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
更多关于HarmonyOS鸿蒙Next万能卡片-Codelabs挑战赛历史上的今天 第三篇 开发选型和工程配置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next万能卡片-Codelabs挑战赛的“历史上的今天”项目中,开发选型和工程配置是关键步骤。首先,选择适合的开发工具,如DevEco Studio,并确保安装最新版本的HarmonyOS SDK。接着,配置工程环境,包括设置项目名称、包名和最低兼容版本。在工程配置中,需添加必要的依赖库,如网络请求库和图片加载库,以支持数据获取和展示。最后,配置卡片布局和样式,确保在不同设备上都能良好显示。