美文网首页
java和lua交互方法(1)

java和lua交互方法(1)

作者: 夏洛伊de风 | 来源:发表于2019-05-15 00:33 被阅读0次

java和lua之间进行交互,可是用一种基于jni的luajavaBridge方法,目前已经集成在quick-cocos引擎中了。
luaj的功能整理:
1.lua能够查找java的方法;
2.lua能够把函数作为参数传入到java;
3.lua能够从java获得查找调用方法的返回值;
4.java能够调用lua的函数;
下面是一个调用范例,根据java方法需要的传参,来确定lua这边的签名。

   //java方法原型:
public static void GameInterface_doBilling(final String billingIndex,
    final float useSms,
    final boolean isRepeated,
    final int luaFunctionId);
//lua调用java的参数:
local args = {
  "001",
  1.2,
  true,
  //若是把lua的函数传给java,java接收方法的参数为int类型,因为传过来到java之后,保存的是int类型的引用id,
  //通过它可以去找到lua的函数。调用方式:LuaJavaBridge.callLuaFunctionWithString(luaFunctionId, "hello");
  callbackFunc
  }
  //Java类名称
  local className = "com/qeeplay/frameworks/China_SDK"
  //签名
local sig = "(Ljava/lang/String;FZI)V"
//调用java方法
//ok, ret作为接收java的返回信息,ok若为true,ret即返回值,ok若是false,ret为报错信息。
local ok, ret = luaj.callStaticMethod(className,"GameInterface_doBilling",args,sig);

这篇文章参考自https://www.cnblogs.com/mokey/p/4443561.html

相关文章

  • java和lua交互方法(1)

    java和lua之间进行交互,可是用一种基于jni的luajavaBridge方法,目前已经集成在quick-co...

  • java和lua交互方法(2)

    之前那篇文章luajavaBridge是第一家公司使用的方法,现在这两天做微信小游戏,可能要接入语音sdk,就找了...

  • lua和c的初始

    lua和c的交互包括:c访问lua的变量、c访问lua的table、c调用lua的方法、lua调用c的函数 参考链...

  • Lua和C交互的简易教程

    Lua栈 要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处...

  • 2019-01-14

    Lua与C交互学习笔记 Lua与C交互是通过虚拟栈实现的 在C中调用Lua 方法一 栈中的情况如下表所示 方法二 ...

  • Lua和C如何交互(一)

    要理解Lua和C的交互,先要理解堆栈和全局表两个概念 堆栈 Lua和C/C++语言交互的主要方法是一个无处不在的虚...

  • Lua与C#的交互实现

    lua与C#交互使用LuaInterface实现定义变量:1,Lua lua = new Lua() --定义一个...

  • lua的执行

    1.交互式 lua -i 可在命令行中进行交互式编程(执行手敲lua代码) 2.脚本式 lua xx.lua 通...

  • [Lua语法]

    1.Lua的特性 (1)可扩展性:Lua很容易和其他语言进行交互,很容易通过库扩展功能 (2)小巧,精简:Lua的...

  • Lua与C#交互原理

    Lua与C#交互原理 C#与Lua的交互主要是由Lua官方的提供的LuaInterface.dll库实现的。(1)...

网友评论

      本文标题:java和lua交互方法(1)

      本文链接:https://www.haomeiwen.com/subject/loghzftx.html