Shield 中文文档 下载 App

脚本开头 require 的是什么

require "import" 的真实身份

每个脚本第一行都是它。import 是内置的功能模块,干两件事:提供 import 这个函数本身(把安卓类搬进脚本),以及把一批实用函数变成全局变量直接可用。帮助文档里写得很直白:AndroLua+ 的库函数都在 import 模块里,为了方便用全部做成全局变量——这就是为什么 loadlayout、task 这些函数不用导入就能调。

内置模块全家福

除了 import,随包内置的还有这些(按用途分组):

用途模块
数据格式cjson(JSON 读写)、bson、xml、zlib(压缩)
网络http、socket、ftp、smtp
图形canvas、gl(OpenGL)
硬件sensor(传感器)
工具md5(哈希)

用到哪个 import 哪个:import "http"、import "cjson"。没有用到的模块不加载,脚本保持轻快。

记不住清单怎么办

不用记。这组文档就是速查表:网络请求看网络请求,耗时操作看异步线程,调 Java 看 Java 桥。至于 canvas 和 gl 这两个绘图模块,示例代码较长,社区资料也多,需要时再按名检索。

模块之外的全局函数

import 模块带来的全局函数里,最高频的几个:

函数干什么
loadlayout(t)布局表 → 真实界面
loadbitmap(s)载入图片(路径可以是相对、绝对或网络)
task / thread异步执行(见异步线程)
each / enum遍历 Java 集合的迭代器
new_env造一个干净的运行环境表

它们不用 require 就能用,但前提是脚本第一行 require 过 import——很多「函数不存在」的报错,根子是忘了第一行。