AndroidFacadeAPI

AndroidFacadeAPI とは

このエントリーをはてなブックマークに追加
最終更新日 2016-12-31

AndroidFacadeAPI とは、SL4A がサポートする各スクリプト言語から利用できる、Android API のサブセットです。 AndroidFacadeAPI を呼び出すことで、Android のカメラやバーコードスキャナ、音声認識、センサー等の様々な機能を利用することができます。 次に示すのは、各スクリプト言語で Android のトーストを表示する例です。

BeanShell
source("/sdcard/com.googlecode.bshforandroid/extras/bsh/android.bsh");
droid = Android();
droid.call("makeToast", "Hello, SL4A");
HTML and JavaScript
<html>
<head>
<script>
var droid = new Android();
droid.makeToast("Hello, SL4A");
</script>
</head>
<body>
</body>
</html>
JRuby
require "android"
droid = Android.new
droid.makeToast "Hello, SL4A"
Lua
require "android"
android.makeToast("Hello, SL4A")
Perl
use Android;
my $droid = Android->new();
$droid->makeToast("Hello, SL4A");
PHP
<?php
require_once("Android.php");
$droid = new Android();
$droid->makeToast("Hello, SL4A");
Python
import android
droid = android.Android()
droid.makeToast("Hello, SL4A")
Rhino
load("/sdcard/com.googlecode.rhinoforandroid/extras/rhino/android.js");
var droid = new Android();
droid.makeToast("Hello, SL4A");

なお、本ドキュメントでソースコード例を示す場合は、原則として Python を使用します。

戻り値

すべての API は次の3つのフィールドを保持するオブジェクトを返します。

フィールド名 説明
id API 呼び出しに関連付けられる数値 ID。
result API が返す値。API が値を返さない場合は null。
error エラーメッセージ。エラーが起きていない場合は null。

API Browser

SL4A には AndroidFacadeAPI リファレンスとして利用できる API Browser が用意されています。 API Browser を表示するには、ソースコード編集画面のメニューから[API Browser]を実行します。

API Browser の API 一覧から API 名を押すと、API の説明が表示されます。

さらに、API 名を長押しすると、メニューが表示されます。

[Insert]を実行するとソースコード編集画面に API の呼び出しコードが挿入されます。 [Prompt]を実行すると次のような API のパラメータを入力する画面が表示されます。

パラメータを入力して[Finish]ボタンを押すと、ソースコード編集画面に API の呼び出しコードが挿入されます。