详解JavaME与Lua互动案例实现


  本文标签:JavaME Lua

  JavaMELua互动案例实现是本文要介绍的内容,主要是来学习javaMElua的互动,通过一个小案例来学习Lua,具体内容来看本文详解  。

  测试环境:

  1. PulsarEclipse+WTK2.5.2+luaj  。  
  2. 在http://luaj.sourceforge.net 下载luaj-me-2.0.2.jar 

  lua代码:

  1. --demo.lua  
  2.  
  3. local j_result=callJavaFunc("hello world!") --调用在java定义名为callJavaFunc的LibFunction对象  
  4.  
  5. print(j_result)  
  6. function sayHello() --定义的sayHello函数  
  7.  
  8.    return "lua say hello!"  
  9. end 

  java代码段如下:

  1. //定义lua脚本的环境表  
  2.   LuaTable envJmePlatform.standardGlobals();  
  3.   //在环境表中,定义一个可在lua运行的callJavaFunc的函数  
  4.   env.rawset("callJavaFunc",new LibFunction() {  
  5.     //重载call  
  6.    public LuaValue call(LuaValue luavalue) {  
  7.     // TODO Auto-generated method stub  
  8.       
  9.     System.out.println("callJavaFunc be called!");  
  10.     return luavalue;  
  11.    }  
  12.            
  13.   });  
  14.           
  15. try {  
  16.     //载入且运行lua脚本  
  17.    LoadState.load(getClass().getResourceAsStream("/demo.lua"), "demo.lua",env).call();  
  18.       //运行lua脚本定义的sayHello函数  
  19.       LuaValue r=env.get("sayHello").call();  
  20.       System.out.println(r);  
  21.         } catch (IOException e) {  
  22.    // TODO Auto-generated catch block  
  23.    e.printStackTrace();  
  24.   }     

  小结:详解JavaMELua互动案例实现的内容介绍完了,希望通过本文的学习能对你有所帮助!