SL4A - Архитектура

SL4A состоит из трех основных компонентов. Они следующие -

  • Интерпретаторы скриптов
  • Клиент RPC для Android
  • Facades

В этой главе мы подробнее обсудим эти три компонента.

Интерпретаторы скриптов

SL4A выступает в роли хоста сценариев. Он поддерживает множество языков сценариев, таких как Python, Ruby, Lua, BeanShell, JavaScript и TCL. SL4A может быть расширен за счет динамического включения новых языков сценариев путем разработки нового интерпретатора SL4A для этого языка сценариев.

Каждый сценарий запускается в собственном экземпляре интерпретатора. Следовательно, несколько сценариев могут выполняться одновременно, не влияя друг на друга.

Клиент RPC для Android

Сценарии, выполняемые в экземпляре интерпретатора, взаимодействуют с приложением SL4A через RPC-клиент Android Proxy. Клиент устанавливаетRemote Procedure Call (RPC)подключение к SL4A и позволяет скриптам взаимодействовать с Android Framework. Фасады SL4A облегчают это общение. Данные отправляются какJSON полезные нагрузки.

Клиенты Android RPC предоставляются для всех поддерживаемых языков сценариев. Клиентские модули можно получить на сайте SL4A по адресуhttps://code.google.com.

Фасады

Фасад упрощает доступ скрипта к базовому API Android. SL4A предоставляет API-интерфейс Android Framework для сценариев через обширный набор фасадов, таких как AndroidFacade, BluetoothFacade, ActivityManagerFacade, CommonIntentsFacade и т. Д.

Функциональность SL4A предлагает набор разнообразных функций, таких как Камера, Местоположение, Диспетчер батареи, Медиа-плеер, Медиа-рекордер и многие другие.

Использование SL4A

Система SL4A подходит для следующих видов задач:

  • RAD programming- С SL4A можно использовать подход быстрой разработки приложений (RAD) для быстрого создания прототипа приложения. Вы можете создать полноценное Android-приложение, если подтвердится осуществимость идеи.

  • Test scripts - Его можно использовать для написания тестовых скриптов.

  • Building Utilities - Служебные скрипты или инструменты, которые выполняют небольшие задачи или автоматизируют определенные аспекты повторяющихся задач, могут быть созданы с использованием SL4A.