Учебники

SL4A — изучение Android API

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.