当前位置: 首页 > 工具软件 > Reflection.js > 使用案例 >

Cocos Creator 原生Java - js/ts 互调

向嘉誉
2023-12-01

使用方法 jsb.reflection.callStaticMethod ,该方法有四个参数

1)Java的类名(文件的相对路径下) 一般是包名/类名

2)函数名(必须是公共静态方法)

3)(参数类型)返回值类型 

     1.无参数无返回值 ()V  

     2.无参数有返回值为boolean ()Z  

     3.有参数无返回值 (I)V  , 多个参数 (II)V

     4.有参数有返回值为boolean  (I)Z  

4)参数列表

  参数类型说明:

  1)int 用 "I" 表示

  2)float 用 "F" 表示

  3)boolean 用 "Z" 表示

  4)string 用 "Ljava/lang/String;"   --- ";"必不可少

  5)()表示没有参数

1. js/ts 调用 Java ,静态方法映射

   方式一:无参调用

 jsb.reflection.callStaticMethod("a/b/c/classJava", "wxLogin", "()V");

其中"a/b/c" 是 Java类 classJava 的绝对路径,"wxLogin" 为java类中的公共静态方法

  方式二:有参数调用

jsb.reflection.callStaticMethod("a/b/c/classJava", "copyText", "(Ljava/lang/String;)V", str);

2. Java 回调 js/ts, 注意,回调的方法必须是全局方法,比如

cc.wxLoginCallFunc = function (code) {

console.log("登录返回",code);

Java回调 

Cocos2dxJavascriptJavaBridge.evalString(String.format("cc.wxLoginCallFunc(\'%s\');", "code"));

 类似资料: