当前位置: 首页 > wzjs >正文

济南集团网站建设报价百度推广怎么收费的

济南集团网站建设报价,百度推广怎么收费的,网站设计排行榜,做教育行业营销类型的网站跨平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOS Next)。当不同平台业务逻辑不同,或使用了不支持跨平台的API,就需要根据平台…

跨平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOS Next)。当不同平台业务逻辑不同,或使用了不支持跨平台的API,就需要根据平台不同进行一定代码差异化适配。当前仅支持在代码运行态进行差异化,接下来详细介绍场景及如何差异化适配。

使用场景

平台差异化适用于以下两种典型场景:

1.自身业务逻辑不同平台本来就有差异;
2.在OpenHarmony上调用了不支持跨平台的API,这就需要在OpenHarmony上仍然调用对应API,其他平台通过Bridge桥接机制进行差异化处理;

判断平台类型

可以通过let osName: string = deviceInfo.osFullName;获取对应OS名字,该接口已支持跨平台,不同平台上其返回值如下:

OpenHarmony上,osName等于OpenHarmony-XXX
Android上,osName等于Android XXX
iOS上,osName等于iOS XXX

示例如下:

test() {let osName: string = deviceInfo.osFullName;console.log('osName = ' + osName);if (osName.startsWith('OpenHarmony')) {// OpenHarmony应用平台上业务逻辑} else if (osName.startsWith('Android')) {// Android应用平台上业务逻辑} else if (osName.startsWith('iOS')) {// iOS应用平台上业务逻辑}
}

非跨平台API处理

在跨平台工程中如果调用非跨平台API,编译时IDE会触发拦截并报错。接下来以调用wifiManager.isWifiActive()判断WiFi开关是否打开为例,这个API当前是不支持跨平台的。示例代码:

  test2(){let isActive = wifiManager.isWifiActive();}

IDE报错:

> hvigor ERROR: Failed :feature:default@CompileArkTS... 
> hvigor ERROR: ArkTS Compiler Error
ERROR: ArkTS:ERROR File: D:/work/git/play-arkuix/Test_ACE/feature/src/main/ets/pages/Index.ets:64:31
'isWifiActive' can't support crossplatform application.COMPILE RESULT:FAIL {ERROR:2}
> hvigor ERROR: BUILD FAILED in 10 s 753 ms 

此时可以将涉及到的API写到一个后缀为**.ts**文件,然后在不支持的API上面增加// @ts-ignore或// @ts-nocheck屏蔽告警,开发者需要保证只在OpenHarmony应用平台上才运行这一段逻辑,Android和iOS应用平台上可以借用Bridge桥接机制处理,示例代码如下:

1.新建一个WiFiUtil.ts,并忽略告警:

import wifiManager from '@ohos.wifiManager'export class WiFiUtil {static isActive(): boolean {//@ts-ignorereturn wifiManager.isWifiActive();}
}

2.根据不同平台差异化逻辑,Android和iOS应用平台上通过Bridge机制桥接到对应平台的业务逻辑实现上:

checkTestWiFi(): void {let osName: string = deviceInfo.osFullName;console.log('osName = ' + osName);if (osName.startsWith('OpenHarmony')) {// OpenHarmony应用平台let isActive = WiFiUtil.isActive();this.message = isActive ? '已连接' : '未连接';} else {// Android和iOS应用平台上,中转到原生let bridge = Bridge.createBridge('Bridge');bridge.callMethod('isWiFiActive').then((res) => {// 业务逻辑处理...}).catch(() => {})}
}
http://www.dtcms.com/wzjs/123110.html

相关文章:

  • 网站建设日程表是什么意思奉化网站关键词优化费用
  • 独立站建站服务如何推广app赚钱
  • 邯郸网站建设fkopseo搜索优化工具
  • 高校网站建设的优势和不足域名批量注册查询
  • 佛山外贸网站制作百度关键词优化师
  • dede 网站地图 模块上海百度推广代理商
  • 哪个网站做兼职可以赚钱中文域名注册官网
  • 哪个网站帮别人做ppt百度网站推广教程
  • wordpress可以建哪些网站宁波seo行者seo09
  • 如何给网站做2维码查收录
  • 做企业网站要多少钱英雄联盟更新公告最新
  • 做网站怎么找优质客户地推接单网
  • 阿里云网站费用吗营销网站建设流程
  • 在线做logo印章网站安徽seo优化规则
  • wordpress报名表单百度刷排名seo软件
  • 佟年给韩商言做的网站seo站内优化
  • 行业网站建设哪家好免费推广软件下载
  • 上海网站建设运营站霸网络营销策划方案范文1500
  • 网站建设项目建议书的内容西安网站seo价格
  • 网站建设投标书组成如何推广新产品的方法
  • 南京高端网站定制营销宣传图片
  • 那个网站做外贸好今日世界杯比分预测最新
  • 免费做抽奖的h5网站现在推广平台哪家最好
  • wordpress积分交换深圳网站关键词优化推广
  • 网站后台权限设计重庆专业seo
  • 有谁可以做网站寄生虫100个裂变营销案例
  • 网站 设计 精髓宝鸡seo排名
  • 有口碑的南昌网站制作中国2022年重大新闻
  • 百度竞价做网站建设重庆网站seo建设哪家好
  • 可以自己做视频网站吗新手怎么学做电商