SL4A основан на Pattern Design Facade для связи с базовым API Android. В этой главе объясняется работа шаблона проектирования фасада и различных фасадов API SL4A.
Что такое шаблон дизайна фасада?
Фасад — это объект, который предоставляет интерфейс, который упрощает доступ к связанным интерфейсам в приложении. Другими словами, фасад изолирует работу библиотек от клиента и действует как точка входа на каждый уровень подсистемы. Таким образом, клиенты общаются только через свои фасады. Следующая иллюстрация объясняет то же самое.
SL4A и Android API Фасады
SL4A содержит переводчиков для каждого языка, который он поддерживает. Интерпретаторы получают доступ к базовым API-интерфейсам Android через интерфейс, называемый фасадом.
В следующей таблице перечислены фасады верхнего уровня и предоставляемые ими функциональные возможности.
S.No. | Android API Фасад и описание |
---|---|
1 |
ActivityResultFacade Он устанавливает, как ваш скрипт будет возвращать информацию в виде действия. Этот метод подразумевает, что ваш скрипт вернет какой-то результат. Тип результата может быть установлен либо RESULT_CANCELED (0), либо RESULT_OK (-1) |
2 |
AndroidFacade Он обеспечивает доступ к общим функциям Android, таким как чтение ввода, уведомления, запуск компонентов приложения и т. Д. |
3 |
ApplicationManagerFacade Перечислите все доступные и запущенные пакеты, запустите действие, создайте свой диспетчер задач или завершите определенный набор пакетов. |
4 |
BatteryManagerFacade Показывает менеджер батареи и позволяет отслеживать состояние батареи, состояние, уровень типа, напряжение и т. Д. |
5 |
BluetoothFacade Предоставляет доступ к возможностям Bluetooth от основных функций подключения до отправки и получения как ASCII, так и двоичных данных. Этот фасад требует как минимум API уровня 5. |
6 |
CameraFacade Этот метод обеспечивает доступ ко всем функциям, связанным с камерой. Позволяет делать снимки с помощью камеры устройства и сохранять ее по указанному пути. Он предоставляет две функции, а именно cameraCapturePicture и cameraInteractiveCapturePicture. Эти функции предназначены исключительно для использования объектива на задней панели устройства. |
7 |
CommonIntentsFacade Предоставляет доступ к общим Android Intents, таким как открытие списка контактов, поиск по карте, запуск действия по действию и т. Д. |
8 |
ContactsFacade Предоставляет доступ к контактам, таким как предоставление списка контактов для выбора контакта, опроса списка контактов по атрибутам и получения списка всех контактов с их идентификаторами и атрибутами. Некоторые методы, предоставляемые фасадом, включают contactsGet, pickContact, contactsGetById и т. Д. |
9 |
EventFacade ОС Android поддерживает очередь событий для асинхронной передачи информации между приложениями. Этот фасад предоставляет функции для управления очередью событий, такие как очистка существующих событий, публикация новых событий, распечатка, регистрация и отмена регистрации широковещательных сигналов и т. Д. Примеры методов включают в себя eventPost, eventClearBuffer и т. Д. |
10 |
EyesFreeFacade Доступно на устройствах ниже уровня API 4. Это позволяет сценариям говорить с использованием технологии преобразования текста в речь. Этот фасад теперь заменен TextToSpeechFacade. Единственная доступная функция — это ttsSpeak. |
11 |
LocationFacade Предоставляет функции, которые позволяют отслеживать текущее местоположение либо с помощью GPS, либо с помощью информации о вышке сотовой связи, которую вы используете в данный момент. Эта функция требует активного подключения к Интернету для фактического поиска. Фасад предоставляет такие методы, как getLastKnownLocation, startLocating, stopLocating, readLocation и т. Д. |
12 |
MediaPlayerFacade Позволяет воспроизводить мультимедийные файлы, управлять мультимедийным проигрывателем, запрашивать текущее состояние мультимедийного проигрывателя и получать информацию о мультимедийных файлах. mediaIsPlaying, mediaPlayInfo и mediaPlayList возвращает текущее состояние медиаплеера. Вызов функции startActivity запускает медиаплеер. Такие функции, как mediaPlay, mediaPlayPause, mediaPlayClose, mediaPlaySeek, mediaPlayStart и mediaPlaySetLooping, используются для управления медиаплеером. |
13 |
MediaRecorderFacade Этот фасад обеспечивает возможность аудио и видео записи. Функции startInteractiveVideoRecording, RecorderStartMicrophone, RecorderCaptureVideo используются для запуска и начала аудио / видео записи соответственно. Чтобы завершить ранее начатую запись, вызовите функцию рекордера Stop. |
14 |
PhoneFacade Обеспечивает программную доступность основных операций телефона, таких как отслеживание состояния телефона, состояние роуминга, инициирование вызовов, информация с SIM-карты и т. Д. Примеры методов включают phoneCallNumber, phoneDialNumber, getCellLocation и т. Д. |
15 |
PreferencesFacade Предоставляет доступ к общим настройкам, таким как получение списка существующих настроек и чтение, изменение и добавление новых настроек. В релизе SL4A r4 поддерживаются три функции: prefGetAll, prefGetValue и prefPutValue. |
16 |
SensorManagerFacade Позволяет отслеживать данные датчика, такие как свет, ускорение, магнитное поле и ориентация. Для запуска / остановки считывания используйте вызовы функций startSensing (устарел и заменен на startSensingThreshold и startSensingTimed by SL4r4) и вызовы функции stopSensing. readSensors, SensorGetLight, ДатчикиReadAccelerometer, ДатчикиReadMagnetometer и ДатчикиReadOrientation являются функциями, предоставляемыми этим фасадом. |
17 |
SettingsFacade Предоставляет доступ к различным настройкам телефона, таким как громкость звонка, яркость экрана, режим полета, вибрация, громкость носителя и т. Д. Функции, предоставляемые этим фасадом: checkAirplaneMode, checkRingersilentMode и checkScreenOn (по крайней мере, уровень API 7), getVibrateMode, setScreenTimeout, toggleVibrateMode setRingerVolume и т. Д. |
18 |
SignalStrengthFacade Позволяет контролировать уровень сигнала телефона. Вызовите функцию startTrackingSignalStrengths, чтобы начать сбор данных. Вызовите функцию readSignalStrengths, чтобы начать сбор данных. Чтобы завершить процесс, вызовите функцию stoptrackingSignalStrengths. Требуется как минимум уровень API 7. |
19 |
SmsFacade Имеет функции для удаления, чтения, маркировки и отправки SMS-сообщений. Примеры функций, предоставляемых этим фасадом, включают smsMarkMessageRead, smsDeleteMessage, smsSend и т. Д. |
20 |
SpeechRecognitionFacade Позволяет добавить в скрипт функцию распознавания речи. Он имеет только одну функцию по имени признатьSpeech. |
21 |
TextToSpeechFacade Предоставляет услуги TTS для API4 и более поздних версий. Чтобы говорить на устройстве, используйте функцию ttsSpeak. Чтобы определить, завершена ли функция разговора, используйте функцию ttsIsSpeaking. |
22 |
ToneGeneratorFacade Генерирует тоны DTMF для заданных цифр. Чтобы использовать его, вы должны вызвать функцию generateDtmfTones. |
23 |
UiFacade Предоставляет функции для создания элементов пользовательского интерфейса, таких как текстовые поля, флажки, средства выбора даты и т. Д. Он также позволяет интерактивно использовать HTML-страницы. |
24 |
WakeLockFacade Предоставляет функции для создания wake-блокировки, включая wakeLockAcquireBright, wakeLockAcquireDim, wakeLockAcquireFull и wakelockAcquirePartial. |
25 |
WebCamFacade Этот фасад требует как минимум уровня API 8. Он позволяет передавать потоки MJPEG с передней камеры устройства в сеть. Для запуска / остановки веб-камеры используйте функции webcamStart и webcamStop соответственно. Чтобы настроить качество видео во время потоковой передачи, используйте функцию webcamAdjustQuality. |
26 |
WifiFacade Помогает вам контролировать радио Wi-Fi на вашем устройстве. Это позволяет сценариям запрашивать состояние подключения Wi-Fi, искать точки доступа, подключаться и отключать сети Wi-Fi и удерживать блокировку Wi-Fi во время выполнения сценария. |
ActivityResultFacade
Он устанавливает, как ваш скрипт будет возвращать информацию в виде действия. Этот метод подразумевает, что ваш скрипт вернет какой-то результат. Тип результата может быть установлен либо RESULT_CANCELED (0), либо RESULT_OK (-1)
AndroidFacade
Он обеспечивает доступ к общим функциям Android, таким как чтение ввода, уведомления, запуск компонентов приложения и т. Д.
ApplicationManagerFacade
Перечислите все доступные и запущенные пакеты, запустите действие, создайте свой диспетчер задач или завершите определенный набор пакетов.
BatteryManagerFacade
Показывает менеджер батареи и позволяет отслеживать состояние батареи, состояние, уровень типа, напряжение и т. Д.
BluetoothFacade
Предоставляет доступ к возможностям Bluetooth от основных функций подключения до отправки и получения как ASCII, так и двоичных данных. Этот фасад требует как минимум API уровня 5.
CameraFacade
Этот метод обеспечивает доступ ко всем функциям, связанным с камерой. Позволяет делать снимки с помощью камеры устройства и сохранять ее по указанному пути. Он предоставляет две функции, а именно cameraCapturePicture и cameraInteractiveCapturePicture. Эти функции предназначены исключительно для использования объектива на задней панели устройства.
CommonIntentsFacade
Предоставляет доступ к общим Android Intents, таким как открытие списка контактов, поиск по карте, запуск действия по действию и т. Д.
ContactsFacade
Предоставляет доступ к контактам, таким как предоставление списка контактов для выбора контакта, опроса списка контактов по атрибутам и получения списка всех контактов с их идентификаторами и атрибутами. Некоторые методы, предоставляемые фасадом, включают contactsGet, pickContact, contactsGetById и т. Д.
EventFacade
ОС Android поддерживает очередь событий для асинхронной передачи информации между приложениями. Этот фасад предоставляет функции для управления очередью событий, такие как очистка существующих событий, публикация новых событий, распечатка, регистрация и отмена регистрации широковещательных сигналов и т. Д. Примеры методов включают в себя eventPost, eventClearBuffer и т. Д.
EyesFreeFacade
Доступно на устройствах ниже уровня API 4. Это позволяет сценариям говорить с использованием технологии преобразования текста в речь. Этот фасад теперь заменен TextToSpeechFacade. Единственная доступная функция — это ttsSpeak.
LocationFacade
Предоставляет функции, которые позволяют отслеживать текущее местоположение либо с помощью GPS, либо с помощью информации о вышке сотовой связи, которую вы используете в данный момент. Эта функция требует активного подключения к Интернету для фактического поиска. Фасад предоставляет такие методы, как getLastKnownLocation, startLocating, stopLocating, readLocation и т. Д.
MediaPlayerFacade
Позволяет воспроизводить мультимедийные файлы, управлять мультимедийным проигрывателем, запрашивать текущее состояние мультимедийного проигрывателя и получать информацию о мультимедийных файлах. mediaIsPlaying, mediaPlayInfo и mediaPlayList возвращает текущее состояние медиаплеера. Вызов функции startActivity запускает медиаплеер. Такие функции, как mediaPlay, mediaPlayPause, mediaPlayClose, mediaPlaySeek, mediaPlayStart и mediaPlaySetLooping, используются для управления медиаплеером.
MediaRecorderFacade
Этот фасад обеспечивает возможность аудио и видео записи. Функции startInteractiveVideoRecording, RecorderStartMicrophone, RecorderCaptureVideo используются для запуска и начала аудио / видео записи соответственно. Чтобы завершить ранее начатую запись, вызовите функцию рекордера Stop.
PhoneFacade
Обеспечивает программную доступность основных операций телефона, таких как отслеживание состояния телефона, состояние роуминга, инициирование вызовов, информация с SIM-карты и т. Д. Примеры методов включают phoneCallNumber, phoneDialNumber, getCellLocation и т. Д.
PreferencesFacade
Предоставляет доступ к общим настройкам, таким как получение списка существующих настроек и чтение, изменение и добавление новых настроек. В релизе SL4A r4 поддерживаются три функции: prefGetAll, prefGetValue и prefPutValue.
SensorManagerFacade
Позволяет отслеживать данные датчика, такие как свет, ускорение, магнитное поле и ориентация. Для запуска / остановки считывания используйте вызовы функций startSensing (устарел и заменен на startSensingThreshold и startSensingTimed by SL4r4) и вызовы функции stopSensing. readSensors, SensorGetLight, ДатчикиReadAccelerometer, ДатчикиReadMagnetometer и ДатчикиReadOrientation являются функциями, предоставляемыми этим фасадом.
SettingsFacade
Предоставляет доступ к различным настройкам телефона, таким как громкость звонка, яркость экрана, режим полета, вибрация, громкость носителя и т. Д. Функции, предоставляемые этим фасадом: checkAirplaneMode, checkRingersilentMode и checkScreenOn (по крайней мере, уровень API 7), getVibrateMode, setScreenTimeout, toggleVibrateMode setRingerVolume и т. Д.
SignalStrengthFacade
Позволяет контролировать уровень сигнала телефона. Вызовите функцию startTrackingSignalStrengths, чтобы начать сбор данных. Вызовите функцию readSignalStrengths, чтобы начать сбор данных. Чтобы завершить процесс, вызовите функцию stoptrackingSignalStrengths. Требуется как минимум уровень API 7.
SmsFacade
Имеет функции для удаления, чтения, маркировки и отправки SMS-сообщений. Примеры функций, предоставляемых этим фасадом, включают smsMarkMessageRead, smsDeleteMessage, smsSend и т. Д.
SpeechRecognitionFacade
Позволяет добавить в скрипт функцию распознавания речи. Он имеет только одну функцию по имени признатьSpeech.
TextToSpeechFacade
Предоставляет услуги TTS для API4 и более поздних версий. Чтобы говорить на устройстве, используйте функцию ttsSpeak. Чтобы определить, завершена ли функция разговора, используйте функцию ttsIsSpeaking.
ToneGeneratorFacade
Генерирует тоны DTMF для заданных цифр. Чтобы использовать его, вы должны вызвать функцию generateDtmfTones.
UiFacade
Предоставляет функции для создания элементов пользовательского интерфейса, таких как текстовые поля, флажки, средства выбора даты и т. Д. Он также позволяет интерактивно использовать HTML-страницы.
WakeLockFacade
Предоставляет функции для создания wake-блокировки, включая wakeLockAcquireBright, wakeLockAcquireDim, wakeLockAcquireFull и wakelockAcquirePartial.
WebCamFacade
Этот фасад требует как минимум уровня API 8. Он позволяет передавать потоки MJPEG с передней камеры устройства в сеть. Для запуска / остановки веб-камеры используйте функции webcamStart и webcamStop соответственно. Чтобы настроить качество видео во время потоковой передачи, используйте функцию webcamAdjustQuality.
WifiFacade
Помогает вам контролировать радио Wi-Fi на вашем устройстве. Это позволяет сценариям запрашивать состояние подключения Wi-Fi, искать точки доступа, подключаться и отключать сети Wi-Fi и удерживать блокировку Wi-Fi во время выполнения сценария.
Обратитесь к https://code.google.com за полным списком методов, предоставляемых этими фасадами. Последующие главы иллюстрируют, как создавать утилиты, используя функции Android Façade API.