lua学习笔记 3 android调用Lua。Lua脚本使用LoadLib回调Java,并传多个参数
可以在Java中接收多个参数,并显示每一个参数
android 中的调用, 加载Lua脚本的方法, 不是本篇的重点略,可以参考本博前面的笔记。
Lua脚本:
function callback()
luajava.loadLib("cn.hpc.common.lua.LoadLibExample", "open")-- 调用cn.hpc.common.lua包中的LoadLibExample类的 open方法。
javaObjcet.methodOpen("1", 4) -- 返回 两个参数
javaObjcet.methodOpen("2", "blog", "http://blog.csdn.net/hpccn") --返回 3 个参数
javaObjcet.methodOpen("3", "不同的参数", "http://blog.csdn.net/hpccn")
end
回调的接口
测试中只是简单的输出从Lua传入的参数。
包名:cn.hpc.common.lua
类名:LoadLibExample
方法名:open
package cn.hpc.common.lua;
import org.keplerproject.luajava.JavaFunction;
import org.keplerproject.luajava.LuaException;
import org.keplerproject.luajava.LuaState;
public class LoadLibExample {
public static int open(LuaState L) throws LuaException {
L.newTable();
L.pushValue(-1);
L.setGlobal("javaObjcet");
L.pushString("methodOpen");
L.pushJavaFunction(new JavaFunction(L) {
public int execute() throws LuaException {
for (int i = 0, count = L.getTop() + 1; i < count; ++i) {
System.out.println(getParam(i));
}
return 0;
}
});
L.setTable(-3);
return 1;
}
}
运行结果,Log输出:
11-19 11:12:32.783: I/System.out(4137): Userdata
11-19 11:12:32.783: I/System.out(4137): cn.hpc.common.lua.LoadLibExample$1@2bc48890
11-19 11:12:32.793: I/System.out(4137): 1.0
11-19 11:12:32.793: I/System.out(4137): -4.0
11-19 11:12:32.793: I/System.out(4137): Userdata
11-19 11:12:32.793: I/System.out(4137): cn.hpc.common.lua.LoadLibExample$1@2bc48890
11-19 11:12:32.793: I/System.out(4137): 2.0
11-19 11:12:32.793: I/System.out(4137): blog
11-19 11:12:32.793: I/System.out(4137): http://blog.csdn.net/hpccn
11-19 11:12:32.793: I/System.out(4137): Userdata
11-19 11:12:32.793: I/System.out(4137): cn.hpc.common.lua.LoadLibExample$1@2bc48890
11-19 11:12:32.803: I/System.out(4137): 3.0
11-19 11:12:32.803: I/System.out(4137): 不同的参数
11-19 11:12:32.803: I/System.out(4137): http://blog.csdn.net/hpccn
分享到:
相关推荐
在Android项目中使用Lua,需要两个步骤: 1、加载Lua脚本解析引擎。 2、以Native API方式调用引擎接口 直接以JNI方式调用Lua解析引擎的接口十分麻烦,开源项目LuaJava(https://github.com/mkottman/AndroLua )...
android 与 lua 相互调用
运行Lua脚本语句 运行Lua脚本文件 调用 Android API
c#调用脚本语言Lua——简单Demo 配置: 1. 下载c#下的Lua支持类库。下载地址:http://files.luaforge.net/releases/luainterface/luainterface/2.0.3 将(lua51.dll\LuaInterface.dll)引用自己的项目中。 2. 修改...
JS和LUA交互,主要是JS和LUA交互实现模版,可以作为参考
关于tolua++的资料太少,这个通过实例让你知道如何通过tolua++和C++交互,简单明了。 通过5个文件来演示这个tolua++版 hello world hello.lua ,hello.h ,hello.pkg ,...这个程序实现了脚本调用C++类的成员函数方法
包含 LUA取参数数目、LUA取参数类型、LUA取参数值、LUA加返回值、LUA扩展栈。后续版本可能会根据需要进行适当的扩充。LUA(数据类型)。LUA虚拟机,提供对LUA代码进行编译/解释执行的功能。LUA类库常量(常量)。LUA...
NULL 博文链接:https://chamcon.iteye.com/blog/1972995
android调用lua方法
LuaJava 是一款专门用于在java下执行lua脚本,该工具的主要目的...LuaJava 也允许Java去实现一个接口来调用Lua,这样任何的Lua相关接口功能都可以被实现,并且所有方法之间的参数传递得以实现。 标签:LuaJava
Lua 5.3.3和LuaJava移植至Android的示例
LUAC 脚本加密 , 用于LUAC 脚本反编译,有用得同学可以下载,
简要实现了C/C++中调用Lua脚本的技术。 通过用Lua脚本输出一个便签,来研究C/C++与Lua的交互技术。
lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问文件哈哈哈lua脚本问...
一个用lua写的游戏脚本实例,是word格式的,值得一看,通过这个例子你可以了解到游戏中的脚本是怎么写的
lua实现webservice调用 通过gsoap 实现 C/C++ 调用web service
delph调用lua脚本,在delphixe3下通过
串口屏LUA例程-常用的回调函数使用说明V1.0.pdf(本文将介绍大彩LUA脚本API函数中的回调函数使用方法,以及调用回调函数的注意事项。)
lua和Android之间的互相调用,代码比较简单,基本阐述了两者之间的调用原理
Lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用...