SL4A - 探索Android API

SL4A基于Facade设计模式与底层Android API进行通信.本章介绍了FaçadeDesignPattern的工作原理以及不同的SL4A API外观.

什么是Facade设计模式?

外观是一个对象它提供了一个简化对应用程序中相关接口的访问的接口.换句话说,façade将库的工作与客户端隔离开来,并充当每个子系统级别的入口点.因此,客户只能通过他们的外墙进行通信.下图解释了相同的内容.

Facade Design Pattern

SL4A和Android API Facades

SL4A为其支持的每种语言提供解释器.解释器通过名为façade的接口访问底层Android API.

下表列出了顶级外观及其提供的功能和减号;

S.No.Android API Facade&说明
1

ActivityResultFacade

它设置脚本将信息作为活动返回的方式.此方法意味着您的脚本将返回某种结果.结果类型可以设置为RESULT_CANCELED(0)或RESULT_OK(-1)

2

AndroidFacade

它提供对常见Android功能的访问,例如阅读输入,通知,启动应用程序组件等.

3

ApplicationManagerFacade

列出所有可用和正在运行的包,启动活动,创建任务管理器或终止一组特定的包.

4

BatteryManagerFacade

暴露电池管理器,允许跟踪电池状态,健康状况,类型电平,电压等.

5

BluetoothFacade

提供对从基本连接功能到发送和接收ASCII和二进制的蓝牙功能的访问数据.此外观至少需要API级别5.

6

CameraFacade

此方法可以访问所有与相机相关的功能.允许使用设备的相机拍摄照片并将其保存到指定的路径.它提供了两个函数,即cameraCapturePicture和cameraInteractiveCapturePicture.这些功能严格用于使用设备背面的镜头.

7

CommonIntentsFacade

提供对常见Android Intents的访问权限,例如打开联系人列表,进行地图搜索,启动活动通过行动等.

8

ContactsFacade

允许访问联系人,例如提供用于选择联系人的联系人列表,按属性查询联系人列表以及获取包含其ID和所有联系人的列表属性. façade提供的一些方法包括contactsGet,pickContact,contactsGetById等.

9

EventFacade

Android操作系统维护一个事件队列,用于异步传递应用程序之间的信息.此外观提供管理事件队列的功能,例如清除现有事件,发布新事件,列出,注册和取消注册广播信号等.方法示例包括eventPost,eventClearBuffer等.

10

EyesFreeFacade

在API级别4以下的设备上可用.它允许脚本使用文本到语音转换技术.现在,这个外观被TextToSpeechFacade取代.唯一可用的功能是ttsSpeak.

11

LocationFacade

提供的功能可以通过GPS或使用您当前使用的手机信号塔的信息来跟踪当前位置.此功能需要有效的Internet连接才能进行实际查找. façade提供getLastKnownLocation,startLocating,stopLocating,readLocation等方法.

12

MediaPlayerFacade

允许播放媒体文件,控制媒体播放器,查询媒体播放器的当前状态以及获取有关的信息媒体文件. mediaIsPlaying,mediaPlayInfo和mediaPlayList返回媒体播放器的当前状态.对startActivity函数的调用将启动媒体播放器. mediaPlay,mediaPlayPause,mediaPlayClose,mediaPlaySeek,mediaPlayStart和mediaPlaySetLooping等功能用于控制媒体播放器.

13

MediaRecorderFacade

此外观提供音频和视频录制功能. startInteractiveVideoRecording,recorderStartMicrophone,recorderCaptureVideo函数分别用于启动和启动音频/视频录制.要结束先前开始的录音,请调用recorderStop功能.

14

PhoneFacade

以编程方式提供基本电话操作,如跟踪电话状态,漫游状态,发起呼叫,SIM信息等.方法的示例包括phoneCallNumber,phoneDialNumber,getCellLocation等.

15

PreferencesFacade

允许访问共享首选项,例如获取现有首选项列表以及阅读,修改和添加新首选项. SL4A r4版本支持三种功能:prefGetAll,prefGetValue和prefPutValue.

16

SensorManagerFacade

允许跟踪传感器数据,如光线,加速度,磁场和方向.要启动/停止感测,请使用startSensing(不推荐使用并替换为startSensingThreshold和SL4r4的startSensingTimed)和stopSensing函数调用. readSensors,sensorsGetLight,sensorsReadAccelerometer,sensorsReadMagnetometer和sensorsReadOrientation是这个外观提供的功能.

17

SettingsFacade

提供对不同手机设置的访问,如铃声音量,屏幕亮度,飞行模式,振动,媒体此外观提供的功能是checkAirplaneMode,checkRingersilentMode和checkScreenOn(至少API级别7),getVibrateMode,setScreenTimeout,toggleVibrateMode setRingerVolume等.

18

SignalStrengthFacade

允许监控手机信号强度.调用startTrackingSignalStrengths函数开始收集数据.调用readSignalStrengths函数开始收集数据.要关闭进程,请调用stoptrackingSignalStrengths函数.它至少需要API级别7.

19

SmsFacade

它具有删除,阅读,标记和发送短信的功能.此façade提供的函数示例包括smsMarkMessageRead,smsDeleteMessage,smsSend等.

20

SpeechRecognitionFacade

启用向脚本添加语音识别功能.它只有一个名为recognSpeech的函数.

21

TextToSpeechFacade

为API4及更高版本提供TTS服务.要让设备说话,请使用ttsSpeak功能.要确定说话功能是否已完成,请使用ttsIsSpeaking函数.

22

ToneGeneratorFacade

为给定数字生成DTMF音.要使用它,你必须调用generateDtmfTones函数.

23

UiFacade

提供创建用户界面元素的功能,如文本框,复选框,日期选择器等.它还允许交互式使用HTML页面.

24

WakeLockFacade

提供创建唤醒锁的功能,包括wakeLockAcquireBright,wakeLockAcquireDim,wakeLockAcquireFull和wakelockAcquirePartial.

25

WebCamFacade

此外观至少需要API级别8它允许从前置设备摄像头流式传输MJPEG流到网络.要启动/停止网络摄像头,请分别使用webcamStart和webcamStop功能.要在流式传输时调整视频质量,请使用webcamAdjustQuality功能.

26

WifiFacade

帮助您控制设备上的Wi-Fi无线电.它允许脚本查询Wi-Fi连接状态,搜索接入点,连接和断开WiFi网络,并在脚本执行期间保持Wi-Fi锁定.

参考 https://code.google.com 获取这些外墙提供的完整方法列表.后续章节说明了如何使用AndroidFaçadeAPI函数创建实用程序.