Sl4a-exploring-android-api
SL4A-Android APIの探索
SL4Aは、基礎となるAndroid APIと通信するためのFacade Design Patternに基づいています。 この章では、ファサードデザインパターンとさまざまなSL4A APIファサードの動作について説明します。
ファサードデザインパターンとは何ですか?
ファサードは、アプリケーション内の関連インターフェースへのアクセスを簡素化するインターフェースを提供するオブジェクトです。 言い換えれば、ファサードはクライアントからライブラリの動作を隔離し、各サブシステムレベルへのエントリポイントとして機能します。 したがって、クライアントはファサードを介してのみ通信します。 次の図は同じことを説明しています。
SL4AおよびAndroid APIファサード
SL4Aは、サポートする各言語のインタープリターをホストします。 インタープリターは、ファサードと呼ばれるインターフェースを介して、基礎となるAndroid APIにアクセスします。
次の表は、トップレベルのファサードとそれらが提供する機能を示しています-
次の表は、トップレベルのファサードとそれらが提供する機能を示しています-
S.No. | Android API Facade & Description |
---|---|
1 |
ActivityResultFacade スクリプトがアクティビティとして情報を返す方法を設定します。 このメソッドは、スクリプトが何らかの結果を返すことを意味します。 結果タイプは、RESULT_CANCELED(0)またはRESULT_OK(-1)に設定できます。 |
2 |
AndroidFacade 入力の読み取り、通知、アプリケーションコンポーネントの起動など、Androidの一般的な機能へのアクセスを提供します。 |
3 |
ApplicationManagerFacade 利用可能なすべての実行中のパッケージを一覧表示し、アクティビティを起動し、タスクマネージャーを作成するか、特定のパッケージセットを終了します。 |
4 |
BatteryManagerFacade バッテリーマネージャーを公開し、バッテリーステータス、ヘルス、タイプレベル、電圧などを追跡できます。 |
5 |
BluetoothFacade 基本的な接続機能からASCIIデータとバイナリデータの両方の送受信まで、Bluetooth機能へのアクセスを提供します。 このファサードには、少なくともAPIレベル5が必要です。 |
6 |
CameraFacade このメソッドは、すべてのカメラ関連機能へのアクセスを提供します。 デバイスのカメラを使用して写真を撮影し、指定したパスに保存できます。 これは、cameraCapturePictureとcameraInteractiveCapturePictureの2つの機能を提供します。 これらの機能は、デバイスの背面にあるレンズを使用するためのものです。 |
7 |
CommonIntentsFacade 連絡先のリストを開く、マップ検索を行う、アクションごとにアクティビティを開始するなど、一般的なAndroidインテントへのアクセスを提供します。 |
8 |
ContactsFacade 連絡先を選択するための連絡先リストの提供、属性による連絡先リストの照会、IDと属性を持つすべての連絡先のリストの取得など、連絡先へのアクセスを許可します。 ファサードによって提供されるメソッドには、contactsGet、pickContact、contactsGetByIdなどがあります。 |
9 |
EventFacade Android OSは、アプリケーション間で非同期的に情報を受け渡すためのイベントキューを保持しています。 このファサードは、既存のイベントのクリア、新しいイベントのポスト、ブロードキャスト信号のリスト、登録および登録解除など、イベントキューを管理する機能を提供します。 メソッドの例には、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関数は、それぞれオーディオ/ビデオ録画の起動と開始に使用されます。 以前に開始した録音を終了するには、recorderStop関数を呼び出します。 |
14 |
PhoneFacade 電話の状態の追跡、ローミングステータス、通話の開始、SIM情報などの基本的な電話操作を可能にします。 プログラム的に メソッドの例には、phoneCallNumber、phoneDialNumber、getCellLocationなどが含まれます。 |
15 |
PreferencesFacade 既存の設定のリストの取得、新しい設定の読み取り、変更、追加などの共有設定へのアクセスを許可します。 SL4A r4リリースでは、prefGetAll、prefGetValue、prefPutValueの3つの関数がサポートされています。 |
16 |
SensorManagerFacade 光、加速度、磁場、方向などのセンサーデータを追跡できます。 センシングを開始/停止するには、startSensing(非推奨で、SL4r4によってstartSensingThresholdおよびstartSensingTimedに置き換えられます)およびstopSensing関数呼び出しを使用します。 readSensors、sensorGetLight、sensorReadAccelerometer、sensorReadMagnetometer、sensorsReadOrientationは、このファサードによって提供される機能です。 |
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 スクリプトへの音声認識機能の追加を有効にします。 それには、recognizeSpeechという名前の関数が1つだけあります。 |
21 |
TextToSpeechFacade API4以降のTTSサービスを提供します。 デバイスが発言するには、ttsSpeak関数を使用します。 通話機能が完了したかどうかを判断するには、ttsIsSpeaking機能を使用します。 |
22 |
ToneGeneratorFacade 指定された数字のDTMFトーンを生成します。 これを使用するには、generateDtmfTones関数を呼び出す必要があります。 |
23 |
UiFacade テキストボックス、チェックボックス、日付ピッカーなどのユーザーインターフェイス要素を作成するための機能を提供します。 また、HTMLページをインタラクティブに使用できます。 |
24 |
WakeLockFacade wakeLockAcquireBright、wakeLockAcquireDim、wakeLockAcquireFull、wakelockAcquirePartialなどのウェイクロックを作成する機能を提供します。 |
25 |
WebCamFacade このファサードには、少なくともAPIレベル8が必要です。 MJPEGストリームを前面デバイスのカメラからネットワークにストリーミングできます。 Webカメラを開始/停止するには、webcamStartおよびwebcamStop関数をそれぞれ使用します。 ストリーミング中にビデオの品質を調整するには、webcamAdjustQuality関数を使用します。 |
26 |
WifiFacade デバイスのWi-Fi無線を制御するのに役立ちます。 これにより、スクリプトはWi-Fi接続のステータスを照会し、アクセスポイントを検索し、WiFiネットワークに接続および切断し、スクリプト実行中にWi-Fiロックを保持できます。 |
これらのファサードが提供するメソッドの完全なリストについては、https://code.google.com/hosting/moved?project = android-scripting [https://code.google.com]を参照してください。 以降の章では、AndroidFaçadeAPI関数を使用してユーティリティを作成する方法を説明します。