SL4A - Explorando Android API
SL4A é baseado no Facade Design Pattern para se comunicar com a API Android subjacente. Este capítulo explica o funcionamento do Façade Design Pattern e as diferentes fachadas do SL4A API.
O que é um padrão de design de fachada?
Uma fachada é um objeto que fornece uma interface que simplifica o acesso às interfaces relacionadas no aplicativo. Em outras palavras, uma fachada isola o funcionamento das bibliotecas do cliente e atua como um ponto de entrada para cada nível de subsistema. Assim, os clientes se comunicam apenas por meio de suas fachadas. A ilustração a seguir explica o mesmo.
SL4A e Android API Facades
SL4A hospeda intérpretes para cada idioma que ele suporta. Os intérpretes acessam as APIs Android subjacentes por meio de uma interface chamada de fachada.
A tabela a seguir lista as fachadas de nível superior e a funcionalidade que oferecem -
S.No. | Fachada e descrição da API Android |
---|---|
1 | ActivityResultFacade Ele define como seu script retornará informações como uma atividade. Este método implica que seu script retornará algum tipo de resultado. O tipo de resultado pode ser definido como RESULT_CANCELED (0) ou RESULT_OK (-1) |
2 | AndroidFacade Ele fornece acesso a funções Android comuns, como leitura de entrada, notificações, inicialização de componentes de aplicativos etc. |
3 | ApplicationManagerFacade Liste todos os pacotes disponíveis e em execução, inicie uma atividade, crie seu gerenciador de tarefas ou encerre um conjunto específico de pacotes. |
4 | BatteryManagerFacade Expõe o gerenciador de bateria e permite rastrear o status da bateria, saúde, tipo de nível, tensão etc. |
5 | BluetoothFacade Fornece acesso a recursos Bluetooth de recursos básicos de conexão para envio e recebimento de dados ASCII e binários. Esta fachada requer pelo menos API nível 5. |
6 | CameraFacade Este método fornece acesso a todas as funções relacionadas à câmera. Permite tirar uma foto usando a câmera do dispositivo e salvá-la em um caminho especificado. Ele oferece duas funções: cameraCapturePicture e cameraInteractiveCapturePicture. Essas funções são estritamente para usar as lentes na parte traseira do dispositivo. |
7 | CommonIntentsFacade Fornece acesso a intents Android comuns, como abrir uma lista de contatos, fazer uma pesquisa no mapa, iniciar uma atividade por ação etc. |
8 | ContactsFacade Permite acesso a contatos, como fornecer a lista de contatos para escolher um contato, consultar a lista de contatos por atributos e obter uma lista de todos os contatos com seus IDs e atributos. Alguns métodos fornecidos pela fachada incluem contactsGet, pickContact, contactsGetById etc. |
9 | EventFacade O sistema operacional Android mantém uma fila de eventos para passar informações entre aplicativos de forma assíncrona. Esta fachada fornece funções para gerenciar a fila de eventos, como limpar os eventos existentes, postar novos eventos, listar, registrar e cancelar o registro de sinais de transmissão, etc. Exemplos de métodos incluem eventPost, eventClearBuffer, etc. |
10 | EyesFreeFacade Disponível em dispositivos abaixo do nível de API 4. Ele permite que os scripts falem usando a tecnologia text-to-speech. Esta fachada foi substituída por TextToSpeechFacade. A única função disponível é ttsSpeak. |
11 | LocationFacade Fornece funções que permitem rastrear a localização atual por GPS ou usando informações sobre a torre de celular que você está usando no momento. Este recurso requer uma conexão ativa com a Internet para fazer a pesquisa real. A fachada fornece métodos como getLastKnownLocation, startLocating, stopLocating, readLocation etc. |
12 | MediaPlayerFacade Permite reproduzir arquivos de mídia, controlar o reprodutor de mídia, consultar o estado atual do reprodutor de mídia e obter informações sobre os arquivos de mídia. mediaIsPlaying, mediaPlayInfo e mediaPlayList retorna o estado atual do reprodutor de mídia. Uma chamada para a função startActivity inicia o reprodutor de mídia. Funções como mediaPlay, mediaPlayPause, mediaPlayClose, mediaPlaySeek, mediaPlayStart e mediaPlaySetLooping são usadas para controlar o reprodutor de mídia. |
13 | MediaRecorderFacade Esta fachada oferece capacidade de gravação de áudio e vídeo. As funções startInteractiveVideoRecording, recorderStartMicrophone, recorderCaptureVideo são usadas para iniciar e iniciar a gravação de áudio / vídeo, respectivamente. Para terminar uma gravação iniciada anteriormente, chame a função recorderStop. |
14 | PhoneFacade Disponibiliza operações básicas do telefone, como rastreamento do estado do telefone, status de roaming, inicialização de chamadas, informações do SIM etc. de forma programática. Exemplos de métodos incluem phoneCallNumber, phoneDialNumber, getCellLocation etc. |
15 | PreferencesFacade Permite o acesso às preferências compartilhadas, como obter a lista de preferências existentes e ler, modificar e adicionar novas preferências. Existem três funções suportadas pela versão SL4A r4: prefGetAll, prefGetValue e prefPutValue. |
16 | SensorManagerFacade Permite rastrear dados do sensor, como luz, aceleração, campo magnético e orientação. Para iniciar / parar a detecção, use as chamadas de função startSensing (obsoleto e substituído por startSensingThreshold e startSensingTimed por SL4r4) e stopSensing. readSensors, SensoresGetLight, SensoresReadAccelerometer, SensoresReadMagnetômetro e SensoresReadOrientation são as funções fornecidas por esta fachada. |
17 | SettingsFacade Fornece acesso a diferentes configurações do telefone, como volume da campainha, brilho da tela, modo avião, vibração, volume da mídia, etc. As funções fornecidas por esta fachada são checkAirplaneMode, checkRingersilentMode e checkScreenOn (pelo menos API nível 7), getVibrateMode, setScreenTimeout, toggleVibrateMode, setRingerVolume etc. |
18 | SignalStrengthFacade Permite monitorar a força do sinal do telefone. Chame a função startTrackingSignalStrengths para começar a coletar dados. Chame a função readSignalStrengths para iniciar a coleta de dados. Para encerrar o processo, chame a função stoptrackingSignalStrengths. Requer pelo menos API nível 7. |
19 | SmsFacade Possui funções para apagar, ler, marcar e enviar mensagens SMS. Exemplos de funções fornecidas por esta fachada incluem smsMarkMessageRead, smsDeleteMessage, smsSend etc. |
20 | SpeechRecognitionFacade Habilita a adição de funcionalidade de reconhecimento de fala ao script. Ele tem apenas uma função chamada reconheceSpeech. |
21 | TextToSpeechFacade Fornece serviços TTS para API4 e posterior. Para que um dispositivo fale, use a função ttsSpeak. Para determinar se a função speak foi concluída, use a função ttsIsSpeaking. |
22 | ToneGeneratorFacade Gera tons DTMF para determinados dígitos. Para usá-lo, você deve chamar a função generateDtmfTones. |
23 | UiFacade Fornece funções para criar elementos de interface de usuário como caixas de texto, caixas de seleção, selecionadores de data, etc. Também permite o uso interativo de páginas HTML. |
24 | WakeLockFacade Fornece funções para criar um wake lock, incluindo wakeLockAcquireBright, wakeLockAcquireDim, wakeLockAcquireFull e wakelockAcquirePartial. |
25 | WebCamFacade Esta fachada requer pelo menos API nível 8. Ela permite o streaming de fluxos MJPEG da câmera do dispositivo frontal para a rede. Para iniciar / parar a webcam, use as funções webcamStart e webcamStop respectivamente. Para ajustar a qualidade do vídeo durante a transmissão, use a função webcamAdjustQuality. |
26 | WifiFacade Ajuda você a controlar o rádio Wi-Fi em seu dispositivo. Ele permite que os scripts consultem o status da conectividade Wi-Fi, procurem pontos de acesso, conectem e desconectem redes Wi-Fi e mantenham um bloqueio de Wi-Fi durante a execução do script. |
Referir https://code.google.compara uma lista completa de métodos fornecidos por essas fachadas. Os capítulos subsequentes ilustram como criar utilitários usando as funções da API Android Façade.