js与本地java通信 原创
cqyin
发布于 2021-8-18 09:10
浏览
0收藏
介绍
这里介绍下api6新出的js fa与本地java pa的通信,可以去鸿蒙官网 JS LocalParticleAbility机制 学习。
。
环境配置
1、新建js项目后,需要修改:
1) 项目根目录下的build.gradle,sdk版本修改,如下:
2) moudle下的build.gradle,sdk版本修改,同上;
3) 修改完成后,执行右上角sync now按钮。
2、 模拟器同样需要选择api6的,如下图:
java端
- 写一个自己的类继承自LocalParticleAbility,继承后里面的pulic方法js端均可以访问到,代码如下:
1) 同步方式(方法:plusSync),直接return结果,js会接收到一个Promise对象。
2) 异步方式(方法:plusAsync),开启线程模拟异步操作,利用Callback对象将数据返回给js。
2. 需要在js加载对应的ablility注册
js端
不要在js中onInit中调用,因为此时Java接口对象还未创建完成。java的同步方式返回的是Promise对象;java的异步方式是通过Callback对象给js返回数据,可以返回多次,具体代码如下:
执行结果:
1) 同步结果
app Log: 结果是:3
2) 异步结果
app Log: 结果是:3
app Log: 结果是:-1
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
已于2021-8-18 09:10:13修改
赞
2
收藏
回复
2
2
相关推荐
“java的异步方式是通过Callback对象给js返回数据,可以返回多次”这个返回多次是为了防止JS收不到返回数据?
应该不是,可以返回不同的数据,而且js可以接收到不同值,应该类似于java持有了一个js类,java可以通过此类的方法给js设置值。