getFunctions
public abstract Map<String,FREFunction> getFunctions()
この関数には、そのコンテキストでアクセス可能とされるすべての関数を含んだ Java Map インスタンスを返すコードを実装します。マップのキー値は、何らかの関数が呼び出されたときに FREFunction オブジェクトを検索するために使用されます。
戻り値:
-
Map<String, FREFunction>
-
文字列のキー値 1 つとそれに対応する FREFunction オブジェクト 1 つを含んだ Map オブジェクト。この Map オブジェクトは、拡張の ActionScript 側で ExtensionContext クラスの
call()
メソッドが呼び出されたとき、該当する関数を AIR ランタイムが検索するために使用されます。
例:
次に示す getFunctions() の例では、架空の関数 3 つを含んだ Java HashMap を作成します。これらの関数を拡張の ActionScript 側から呼び出すには、文字列「negate」、「invert」、「reverse」のいずれかを ExtensionContext
call()
メソッドに渡します。
@Override
public Map<String, FREFunction> getFunctions() {
Map<String, FREFunction> functionMap = new HashMap<String, FREFunction>();
functionMap.put( "negate", new NegateFunction() );
functionMap.put( "invert", new InvertFunction() );
functionMap.put( "reverse", new ReverseFunction() );
return functionMap;
}
getActionScriptData
public FREObject getActionScriptData()
そのコンテキストに関連付けられている ActionScript データオブジェクトを取得します。このデータオブジェクトに対しては、Java コードと ActionScript コードのどちらからでも読み取りと変更ができます。
戻り値:
-
FREObject
-
データオブジェクトを表す FREObject。
例:
FREObject data = context.getActionScriptData();
setActionScriptData
public void setActionScriptData( FREObject object )
そのコンテキストに関連付けられている ActionScript データオブジェクトを設定します。このデータオブジェクトに対しては、Java コードと ActionScript コードのどちらからでも読み取りと変更ができます。
パラメーター:
-
value
-
プリミティブ値または ActionScript オブジェクトを含んだ FREObject。
例:
FREObject data = FREObject.newObject( "A string" );
context.setActionScriptData( data );
getActivity
public android.app.Activity getActivity()
アプリケーション Activity オブジェクトへの参照を取得します。この参照は、Android SDK の多くの API を使用するために必要です。
戻り値:
-
android.app.Activity
-
AIR アプリケーションの Activity オブジェクト。
例:
Activity activity = context.getActivity();
getResourceID
public native int getResourceId( String resourceString )
ネイティブ Android リソースのリソース ID を取得します。
resourceString
パラメーターには、リソースを特定する文字列を指定します。Android 上のリソースにアクセスする場合の命名規則に従います。例えば、あるリソースに対し、Android ネイティブコードでは次のようにアクセスするとします。
R.string.my_string
このリソースの
resourceString
は次のとおりです。
"string.my_string"
このメソッドでは、
resourceString
で指定されたリソースが見つからない場合は Resources.NotFoundException をスローします。
パラメーター:
-
resourceString
-
Android リソースを特定する文字列。
戻り値:
-
int
-
Android リソースの ID。
例:
int myResourceID = context.getResourceID( "string.my_string" );
dispatchStatusEventAsync
public void dispatchStatusEventAsync( String code, String level )
ActionScript StatusEvent イベントを送出するには、この関数を呼び出します。イベントのターゲットは、ランタイムによって FREContext オブジェクトに関連付けられた ActionScript ExtensionContext インスタンスです。
通常、この関数が送出するイベントは非同期です。例えば、拡張メソッドから、タスクを実行するための別のスレッドを開始させることができます。他のスレッドのタスクが完了したときには、そのスレッドから、ActionScript ExtensionContext インスタンスに完了を知らせるために
dispatchStatusEventAsync()
が呼び出されます。
注意:
dispatchStatusEventAsync()
関数は、ネイティブ実装内のいずれのスレッドからも呼び出すことができる唯一の Java API です。
次の場合には、ランタイムはイベントを送出しません。
-
ランタイムがすでに ExtensionContext インスタンスを破棄している場合。
-
ランタイムが ExtensionContext インスタンスの破棄を処理中である場合。
-
ExtensionContext インスタンスが参照を持っていない場合。ランタイムのガベージコレクターがインスタンスを破棄できる状態にあります。
code
および
level
パラメーターに、任意の文字列値を設定します。必要に応じてどのような値を設定することもできますが、拡張の ActionScript 側とは合意が成立している必要があります。
パラメーター:
-
code
-
報告されるステータスの説明。
-
level
-
拡張によって定義された、メッセージのカテゴリー。
例:
context.dispatchStatusEventAsync( "Processing finished", "progress" );
dispose
public abstract void dispose()
関連付けられている ActionScript ExtensionContext オブジェクトが破棄され、その FREContext オブジェクトに他の参照が何もない場合に AIR ランタイムによって呼び出されます。このメソッドには、コンテキストリソースをクリーンアップするコードを実装できます。