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 API. SL4A предоставляет API-интерфейс Android Framework для сценариев с помощью обширного набора фасадов, таких как AndroidFacade, BluetoothFacade, ActivityManagerFacade, CommonIntentsFacade и т. Д.
Функциональность SL4A предлагает множество богатых функций, таких как Камера, Местоположение, Battery Manager, Media Player, Media Recorder и многие другие.
Использование SL4A
Система SL4A подходит для следующих задач:
Программирование RAD. С SL4A можно использовать подход быстрой разработки приложений (RAD) для быстрого создания прототипа приложения. Вы можете создать полноценное приложение для Android, если осуществимость идеи подтверждена.
Тестовые скрипты — могут быть использованы для написания тестовых скриптов.
Строительные утилиты. С помощью SL4A можно создавать служебные сценарии или инструменты, которые выполняют небольшие задачи или автоматизируют определенные аспекты повторяющихся задач.