jsb.reflection.callStaticMethod

分享链接https://forum.cocos.org/t/js-jsb-reflection-callstaticmethod/51877

 1、被调用的方法必须要是公用静态方法

public static String getsum(int a,int b) {		
        return a+b;
}

2、callStaticMethod参数设置

jsb.reflection.callStaticMethod参数剖析:
参数一:"org/cocos2dx/javascript/AppActivity":java中的包名(.换成/)+class文件名,就当是路径好了
参数二:"requestLogin":方法名(必须public static)
参数三:“(Ljava/lang/String;)Ljava/lang/String;”:()内的是调用的java方法的参数类型,()外面的是返回值类型
【类型对应表:java类型int ---I java类型float----F java类型boolean(布尔)-----Z java类型String-----Ljava/lang/String;】
参数N:"this string from js":是java方法需要传入的参数(可以多个,与参数三中()内的数量和类型一一对应)

例如获取一个string返回

var errinfo = jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity","getLocationErrorInfo","()Ljava/lang/String;");

注意:放回为字符串类型的数据,"()Ljava/lang/String;" 后面的分号也是需要的。

添加

1、参数说明

()内为输入参数,()外为返回类型

V表示无返回参数 为 void

例1 ()Ljava/lang/String; 代表 无传入参数,返回string 

public static String funcReturnString(){

return String str;

}

例2 (Ljava/lang/String;Ljava/lang/String;III)V 代表 传入两个Sring,三个int类型后,无返回参数

public static void funcTest(finel Sring name,finel String sex,finel int age,finel int classnum,finel int score){

...

}

猜你喜欢

转载自blog.csdn.net/huanghuipost/article/details/102977539
今日推荐