Android 與 Lua

hanks發表於2018-11-16

title: Android 與 Lua date: 2017-01-10 23:18:29 tags:

  • Android
  • Lua

Lua: 一種輕量語言,由標準C編寫而成,體積小,啟動速度快。Lua 有一個同時進行的 JIT 專案,提供在特定平臺上的即時編譯功能。

LuaJ: Luaj 是一個 Java 的 Lua 直譯器,基於 Lua 5.2.x 版本,目的是:

  • 基於 Java 的實現,可以在 Java 應用中整合 Lua 虛擬機器
  • 輕量級、高效能的執行 Lua
  • 多平臺支援
  • 完整的庫和工具支援
  • 可在 Java ME、SE 和 EE 環境中執行
  • luajava api 支援
  • 混合除錯

AndroLua : Androlua 是安卓平臺上的用 Lua 開發安卓程式的工具,不僅支援呼叫Java API,而且支援編寫安卓介面程式,還可以將自己寫的 Lua 程式打包成 apk 安裝檔案安裝。Lua 語言的簡單使沒有任何程式設計經驗的使用者也能在短時間內開發出安卓程式。(來自百度百科)

LuaViewSDK - Android版 LuaViewSDK 由阿里聚划算無線開發團隊開發並維護, LuaView 是一種執行在一個 ViewController/Activity 中,可以靈活載入 Lua 指令碼,並能夠按照 Native 的方式執行的一種面向業務的開發技術方案。可以快速開發電商應用中既要求體驗又要求靈活性的頁面功能,例如首頁,類目首頁,垂直頻道,大促活動會場等。LuaViewSDK 還有 iOS 版。

LuaViewSDK 體驗

官方文件放了一個很詳細的入門文件 ?新手入門 - android

下面的是我自己建立的專案,載入 assets 目錄下的 haha.lua 檔案

圖片

下面嘗試載入外部的指令碼檔案, 我在 sd 卡上新建了一個 local.lua 指令碼檔案 內容如下

w,h = System.screenSize();
window.frame(0, 0, w, h);
window.backgroundColor(0x220000);

label = Label();
label.frame(16,16,w, 60);
label.text("Local Hello World LuaView to Android");
複製程式碼

我們頁可載入伺服器上的 lua 指令碼,注意校驗伺服器的檔案,防止 lua 指令碼惡意攻擊。

相關文章

相關文章