HarmonyOS6 应用升级经验分享

HarmonyOS6 应用升级经验分享

前言

最近鸿蒙应用市场支持上架HarmonyOS 6 正式版的应用了,我也把 《可可图片编辑》 升级到6,并且已经发布上架了。

这里就分享下升级到 HarmonyOS 6 的经验。

配置文件处理

优先你需要考虑到是,你的应用希望运行在哪些系统版本或者支持哪些API版本到设备上,比如API12、API13、API14、API20等等。

一般情况下的升级都是向下兼容,就是你需要保证低版本设备是可以正常使用你的应用功能,同时高版本的设备也能体验你的新特性。

这里就首先就需要考虑 compatibleSdkVersiontargetSdkVersion了。

  1. compatibleSdkVersion:应用/元服务运行所需兼容的最低SDK版本

  2. targetSdkVersion:应用/元服务运行所需目标SDK版本

通俗的讲你希望你的应用运行在最低版本是API14的手机上,同时最高版本是API20的手机上,那么你可以这样配置:

json 复制代码
"targetSdkVersion": "6.0.0(20)",

"compatibleSdkVersion": "5.0.2(14)",

具体路径在:项目/build-profile.json5

ArkTS中的处理

假设这样的需求,你希望当前功能在API20下使用,如果不支持到设备就弹出个提醒即可,那么你可以使用 caniuse 或者 try catch来处理

canIUse

查询系统是否具备某个系统能力。

示例:

typescript 复制代码
if (canIUse('你的api的能力集')) {

  //   支持

} else {

  //   不支持

}

系统能力(SystemCapability,简称SysCap),指操作系统中每一个相对独立的特性。不同的设备对应不同的系统能力集,每个系统能力对应一个或多个API。开发者可根据系统能力来判断是否可以使用某接口。

在IDE工具中也可以方便查看某个API的具体能力集:

try catch

一种常见的方式就是try-catch ,捕获错误,当出现程序出错了,为了避免程序崩溃,使用try将其捕获,catch用来错误处理。

typescript 复制代码
try {

  const res = px2vp(100)

} catch (e) {

  console.log("错误,不支持")

}

API版本判断

如果是这样的场景呢,API14版本下执行代码A,API20版本下,执行代码B。考虑这个场景,我们可以使用 @kit.BasicServicesKit 中的sdkApiVersion 来实现,sdkApiVersion返回 系统软件API版本,我们将它封装起来,这样就可以在ArkTS中和ArkUI中直接使用了。

  1. ArkTS

```typescript

if(deviceInfo.sdkApiVersion===20){

console.log("API20")

}

```

  1. ArkUI

```jsx

if (this.sdkApiVersion >= 20) {

Text('应用20')

} else {

Text('应用不是20')

}

```

相关推荐
爱写代码的森7 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
世人万千丶9 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
90后的晨仔11 小时前
鸿蒙开发实战:图片完整显示、不失真、不留白 —— 深入理解 ImageFit 与动态宽高比适配
harmonyos
程序员黑豆12 小时前
鸿蒙应用开发实战:从零学会自定义组件
前端·华为·harmonyos
qizayaoshuap14 小时前
# [特殊字符] 名言警句 — 鸿蒙ArkTS数据管理与随机展示系统
华为·harmonyos
FrameNotWork14 小时前
HarmonyOS 6.0 LocalStorage页面级存储
华为·交互·harmonyos
FF2501_9402285815 小时前
Grid 构建月历网格:7 列模板 + 日期占位算法
后端·华为·harmonyos·鸿蒙系统
FrameNotWork15 小时前
HarmonyOS 6.0 自定义指令与手势组合:从单指到多指的交互进阶
华为·交互·harmonyos
胡琦博客15 小时前
HarmonyOS 智能工具箱(二):OCR 文字识别工具
华为·ocr·harmonyos
FrameNotWork16 小时前
HarmonyOS 6.0 数据可视化图表
华为·信息可视化·harmonyos