lua 调用 java oc

27 篇文章 0 订阅

lua 调用 oc

首先将写好的oc文件放到工程ios文件目录下,并加入工程引用中,然后再在lua中使用luabridge就行了


    --测试在lua中调用oc

    local args = { num1 = 2 , num2 = 3 }
    local luaoc = require "cocos.cocos2d.luaoc"
    local className = "LuaObjectCBridgeTest"
    local ok,ret  = luaoc.callStaticMethod(className,"addTwoNumbers",args)
    if not ok then
        print("there is some error")
    else
        print("The ret is:", ret)
    end

    local function callback(param)
        if "success" == param then
            print("object c call back success")
        end
    end
    luaoc.callStaticMethod(className,"registerScriptHandler", {scriptHandler = callback } )
    luaoc.callStaticMethod(className,"callbackScriptHandler")


lua 调用java的雷同,就是把写好的java 放到 工程中src下并创建好包路径,在lua中要注意路径和报名的问题



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Android平台下使用Lua调用Java代码,可以使用LuaJava库来实现。下面是经验总结: 1. 下载LuaJava库和Java的jar包,并将其放置到Android工程的libs目录下。 2. 在Java代码中,需要先将Java对象注册到Lua中,以便Lua可以调用该对象的方法和属性。可以使用LuaState对象的pushJavaObject()方法将Java对象推入栈中,再使用LuaState对象的setGlobal()方法将该对象注册到Lua中。例如: ``` LuaState L = LuaStateFactory.newLuaState(); L.openLibs(); JavaObject obj = new JavaObject(); L.pushJavaObject(obj); L.setGlobal("javaObj"); ``` 3. 在Lua脚本中,使用require()函数引入LuaJava库,并使用Java对象的方法和属性。例如: ``` require("luajava") javaObj:sayHello("Hello from Lua!") ``` 4. 使用LuaJava调用Java代码时,需要注意Java方法的参数类型和返回值类型。如果参数类型或返回值类型与Lua中的类型不匹配,则需要进行类型转换。可以使用LuaJava库的toJavaObject()和toLuaObject()方法进行类型转换。例如: ``` -- 调用Java方法 local str = "Hello from Lua!" local obj = luajava.newInstance("java.lang.String", str) local result = javaObj:callMethod("toUpperCase", obj) -- 转换返回值类型 local strResult = luajava.toJavaObject(result, "java.lang.String") -- 转换Lua类型 local table = {1, 2, 3} local array = luajava.toJavaObject(table, "int[]") ``` 5. 在Android Studio中,需要在build.gradle文件中添加以下依赖: ``` implementation 'org.keplerproject:luajava:1.2.1' implementation files('libs/javassist.jar') ``` 以上就是使用Lua调用Java代码的经验总结,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值