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.