SL4A - 架构



SL4A 有三个主要组件。它们如下所示:

  • 脚本解释器
  • Android RPC 客户端
  • 外观(Facades)

在本章中,我们将详细讨论这三个组件。

脚本解释器

SL4A 充当脚本宿主。它支持多种脚本语言,例如 Python、Ruby、Lua、BeanShell、JavaScript 和 TCL。通过为该脚本语言开发新的 SL4A 解释器,可以动态地扩展 SL4A 以合并新的脚本语言。

每个脚本都在其自己的解释器实例中运行。因此,多个脚本可以同时运行而互不影响。

Android RPC 客户端

在解释器实例中运行的脚本通过 Android 代理 RPC 客户端与 SL4A 应用程序通信。客户端建立与 SL4A 的**远程过程调用 (RPC)** 连接,并允许脚本与 Android 框架交互。SL4A 外观(Facades)促进了这种通信。数据以**JSON**有效负载的形式发送。

每个受支持的脚本语言都提供了 Android RPC 客户端。客户端模块可以从 SL4A 网站获取,网址为 https://code.google.com

Scripting Layer Android

外观(Facades)

外观(Facade)简化了脚本对底层 Android API 的访问。SL4A 通过一套广泛的外观(Facades)如 AndroidFacade、BluetoothFacade、ActivityManagerFacade、CommonIntentsFacade 等,将 Android 框架 API 公开给脚本。

SL4A 功能提供了一系列丰富的功能,例如相机、位置、电池管理器、媒体播放器、媒体录制器等等。

使用 SL4A

SL4A 系统适合以下类型的任务:

  • **快速应用开发 (RAD)** - 使用 SL4A,可以使用快速应用开发 (RAD) 方法快速创建原型应用程序。如果想法的可行性得到确认,您可以创建完整的 Android 应用程序。

  • **测试脚本** - 它可用于编写测试脚本。

  • **构建实用程序** - 使用 SL4A 可以构建执行小型任务或自动化某些重复任务方面的实用程序脚本或工具。

广告