【中软国际】HarmonyOS IDL跨进程通信实现 原创 精华
深开鸿开发板
发布于 2021-8-5 10:03
浏览
4收藏
简介
IDL跨进程通信,简单来说就是让你在一个APP中可以与另一个APP进行通信。
首先一点,跨进程通信,就是要有两个应用,一个作为服务端server,另一个作为客户端client。
接下来将带领大家实现一个简单的计算功能
1.首先在一个新项目中,创建两个moudle,rpcserver和rpcclient通信作为服务端和客户端,新建时记得选择EmptyAbility(Java)哦。
2.在rpcserver中新建一个ServiceAbility
3.那么重点要来了,这时候需要再创建一个IDL文件,打开rpcserver,点击任意目录创建即可。
创建完成后,系统会将新创建的IDL文件放在指定的目录下,该目录由系统自动生成。
打开IDL文件,添加一个addNumber方法。
打开rpcclient,和rpcserver一样,创建一个名称相同的IDL文件,当然文件中的addNumber方法也需要保持一致 。另外注意一点,IDL文件添加完成后,需要执行gradle中的compileDebugIdl命令。
这样系统就会自动给我们生成IDL需要连接需要用到的工具类。
4.现在准备工作已经完成,下一步就是客户端给服务端传参数,服务端根据参数返回计算结果的过程
客户端代码
服务端代码
5.终于到了检验成果的时刻,先运行rpcserver, 运行后,再运行rpcclient,任意输入两个数字,比如33和55,然后点击开始通信,这时计算结果显示为88,通信成功~!
到此一个简单的IDL通信demo已经完成了
最后附上源码,感兴趣的小伙伴可以下载体验
更多原创
请关注: 中软国际 HarmonyOS研发团队
在研发和使用过程中关于组件的扩展、移植,复用及数据结构和算法等问题,欢迎各位研发小伙伴交流讨论,让我们一起携手前行共建鸿蒙生态。
作者:赵俊、弓程
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
Idl_Demo.rar 80.2K 68次下载
已于2021-8-5 10:34:59修改
赞
9
收藏 4
回复
9
4
4
相关推荐
太感谢了,对我有很大的启发和帮助
很高兴能帮助到你
非常感谢老师分享,让我对跨进程通信有了初步了解,对之后学习很有帮助
有没有传递自定义对象的方式?官网只提供了Sequence的对象定义,怎么使用完全没说。。