怎么创网站赚钱,h5在线制作免费版,哪个网站做娱乐,多用户自助建站ArkUI-X 官方介绍
官方文档#xff1a;https://gitee.com/arkui-x/docs/tree/master/zh-cn
ArkUI跨平台框架(ArkUI-X)进一步将ArkUI开发框架扩展到了多个OS平台#xff1a;目前支持OpenHarmony、Android、 iOS#xff0c;后续会逐步增加更多平台支持。开发者基于一套主代码…ArkUI-X 官方介绍
官方文档https://gitee.com/arkui-x/docs/tree/master/zh-cn
ArkUI跨平台框架(ArkUI-X)进一步将ArkUI开发框架扩展到了多个OS平台目前支持OpenHarmony、Android、 iOS后续会逐步增加更多平台支持。开发者基于一套主代码就可以构建支持多平台的精美、高性能应用。
创建工程
https://gitee.com/arkui-x/docs/blob/master/zh-cn/application-dev/quick-start/start-with-deveco-studio.md
在主菜单栏单击Build Build Hap(s)/APP(s) Build APP(s) 编译后的ArkTS代码、资源和平台胶水代码已生成到 Android 和 iOS 应用工程中存放在 .arkui-x 目录下后续安装、运行和调试请使用 Android Studio 和 Xcode也可使用ACE Tools。
平台桥接
若 ArkUI-X 未支持需要的功能实现则需要使用平台桥接让原生平台各自实现相应的功能。
1、在ArkUI侧创建平台桥接。指定名称该名称应与Android侧平台桥接的名称一致。
// 导入平台桥接模块
import bridge from arkui-x.bridge;// 创建平台桥接实例
const bridgeImpl bridge.createBridge(Bridge);
2、在Android侧创建BridgePlugin类。指定名称该名称应与ArkUI侧平台桥接的名称一致。通过创建的该对象即可调用平台桥接的方法。
Bridge bridge new Bridge(this, Bridge, getBridgeManager());
ArkUI 调用 Android 方法
1、在ArkUI侧调用Android侧的方法。 const PLAT_ANDROID Android
const PLAT_IOS iOS
const PLAT_HARMONY OpenHarmonyconst osFullNameInfo: string deviceInfo.osFullNamefunction isAndroid() {return osFullNameInfo.startsWith(PLAT_ANDROID)
}function isIOS() {return osFullNameInfo.startsWith(PLAT_IOS)
}function isHarmony() {return osFullNameInfo.startsWith(PLAT_HARMONY)
}const BRIDGE Bridgeexport class PlatformHelper {static INSTANCE: PlatformHelper new PlatformHelper();private bridgeImpl: bridge.BridgeObject|undefined undefined;vibrate(duration: number) {this.crossPlatformMethod(vibrate, ${duration}, () {nativeVibrate(duration)})}crossPlatformMethod(methodName: string, param: string, onHarmony: ()void) {if (isHarmony()) {onHarmony()} else {if (this.bridgeImpl undefined) {this.bridgeImpl bridge.createBridge(BRIDGE);}if (this.bridgeImpl ! undefined) {this.bridgeImpl.callMethod(methodName, param).then((res) {let nativeResponse 调用原生侧函数调用成功, 返回数据为 res;console.log(nativeResponse);}).catch((err: Error) {let nativeResponse 调用原生侧函数调用失败 err;console.log(nativeResponse);});}}}
}2、在Android侧实现被调用的方法 public void vibrate(String param) {ALog.i(TAG, Android Bridge vibrate param is param);Vibrator vibrator (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);if (TextUtils.isDigitsOnly(param)) {vibrator.vibrate(Integer.parseInt(param));} else {vibrator.vibrate(60);}}
上面的代码就实现了在 ArkUI 侧调用 Android 侧的 vibrate 方法能够成功实现振动。
ArkUI 调用 鸿蒙 方法
本以为鸿蒙的实现只需要写一个方法直接调用就可以结果编译时报错 官网文档https://gitee.com/arkui-x/docs/blob/master/zh-cn/application-dev/quick-start/platform-different-introduction.md#%E9%9D%9E%E8%B7%A8%E5%B9%B3%E5%8F%B0api%E5%A4%84%E7%90%86
需要新建后缀为 .ts的文件并在不支持跨平台的接口上方增加注释 // ts-ignore 或 // ts-nocheck 屏蔽警告并保证这个方法只会在 OpenHarmony应用平台 调用。 本文由博客一文多发平台 OpenWrite 发布