
鸿蒙Flutter实战:06-使用ArkTs开发Flutter鸿蒙插件 原创
鸿蒙Flutter开发
发布于 2024-10-22 18:41
1.8w浏览
1收藏
使用 ArkTs 开发 Flutter 鸿蒙平台插件
本文讲述如何开发一个 Flutter 鸿蒙插件,如何实现 Flutter 与鸿蒙的混合开发,以及双端消息通信。
Flutter侧,编写 MethodChannel
代码生命了一个 methodChannel, 并实现了 token 存错的调用方法。
ArkTs侧,实现调用
编写 src/main/ets/entryability/EntryAbility.ets
该文件使的原生页面在加载时,配置 Flutter 引擎,注册插件。 Flutter初始化时,同时初始化了 首选项dataPreferences,以备后用。
编写 src/main/ets/entryability/ForestPlugin.ets
以上代码实现了一个插件类,其核心实现了FlutterPlugin中的 onAttachedToEngine方法,该方法在 Flutter 引擎加载成功后调用。
onMethodCall
中接收来自 Flutter 的消息调用,分别实现了 ‘getPrefs’ 和 ‘setPrefs’ 两个回掉,其中 getPrefs
有返回值,通过 result.success(val);
(见下)异步返回,
setPrefs
没有返回值。
以下为 ForestApi
的具体实现,使用了 HarmonyOS 中的首选项 API 设置和读取数据。
注意事项
1.双端初始化methodChannel中的名称必须保持一致,如 xxx.com/app
.
2.arkTS侧通过 result.success(val) 返回数据,该过程是异步的,故在 Dart 侧需要使用 await 或者回调函数取值。
3.通信中默认只支持基础的数据类型,复杂类型的需要进行序列化或编解码。
4.在Dart 侧接收的数据为 dymanic 类型,需要进行数据类型转换。
参考资料
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2024-10-23 11:19:37修改
赞
收藏 1
回复
1

回复
相关推荐