Учебники

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

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

  • Сценаристы
  • Android RPC клиент
  • Фасады

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

Сценаристы

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

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

Android RPC клиент

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

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

Скриптовый слой Android

Фасады

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

Функциональность SL4A предлагает множество богатых функций, таких как Камера, Местоположение, Battery Manager, Media Player, Media Recorder и многие другие.

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

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

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

Тестовые скрипты – могут быть использованы для написания тестовых скриптов.

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