package com.XXX.project; // 包名
import org.cocos2dx.lib.Cocos2dxLuaJavaBridge;
import org.cocos2dx.lua.AppActivity;
public class MethodToLuaJ {
private volatile static MethodToLuaJ instance;
private static AppActivity appActivity;
private MethodToLuaJ(){
appActivity = AppActivity.getInstance();
}
static public MethodToLuaJ getInstance()
{
if(instance==null)
{
synchronized(MethodToLuaJ.class)
{
if(instance==null)
{
instance = new MethodToLuaJ();
}
}
}
return instance;
}
public void uploadHardwareInfo(final String arg0) {
appActivity.runOnGLThread(new Runnable() {
@Override
public void run() {
Cocos2dxLuaJavaBridge.callLuaGlobalFunctionWithString("uploadHardwareInfo", arg0);
}
});
}
}
这样就算是java到lua的接口就算好了,arg0是参数,只需要在java需要的地方调用就可以了,如下:
public void findEmulator(String emulatorInfo) {
System.out.println("check emulatorInfo:" + emulatorInfo);
MethodToLuaJ.getInstance().uploadHardwareInfo(emulatorInfo);
}
那么lua当中必须要有这个函数 uploadHardwareInfo 我就随便一个全局函数:
function uploadHardwareInfo(info)
luaPrint("硬件信息 ",info)
end
好了,不说了,简单的很,回去看电视了