JavaME与Lua互动案例实现是本文要介绍的内容,主要是来学习javaME与lua的互动,通过一个小案例来学习Lua,具体内容来看本文详解。
测试环境:
- PulsarEclipse+WTK2.5.2+luaj。
- 在http://luaj.sourceforge.net 下载luaj-me-2.0.2.jar
lua代码:
- --demo.lua
- local j_result=callJavaFunc("hello world!") --调用在java定义名为callJavaFunc的LibFunction对象
- print(j_result)
- function sayHello() --定义的sayHello函数
- return "lua say hello!"
- end
java代码段如下:
- //定义lua脚本的环境表
- LuaTable env= JmePlatform.standardGlobals();
- //在环境表中,定义一个可在lua运行的callJavaFunc的函数
- env.rawset("callJavaFunc",new LibFunction() {
- //重载call
- public LuaValue call(LuaValue luavalue) {
- // TODO Auto-generated method stub
- System.out.println("callJavaFunc be called!");
- return luavalue;
- }
- });
- try {
- //载入且运行lua脚本
- LoadState.load(getClass().getResourceAsStream("/demo.lua"), "demo.lua",env).call();
- //运行lua脚本定义的sayHello函数
- LuaValue r=env.get("sayHello").call();
- System.out.println(r);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
小结:详解JavaME与Lua互动案例实现的内容介绍完了,希望通过本文的学习能对你有所帮助!