FREContext
对象提供一组 Java 函数和上下文特定状态。您的扩展必须至少提供一个 FREContext 类的具体实现。
FREContext 类定义两个您必须实现的抽象方法:
释放上下文
扩展的 ActionScript 端可以调用 ExtensionContext 实例的
dispose()
方法。调用 ActionScript
dispose(
) 方法将导致运行时调用 FREContext 类的 Java
dispose()
方法。
如果 ActionScript 端不调用
dispose()
,当不再存在对 ExtensionContext 实例的引用时,运行时垃圾回收器将释放该实例。那时,运行时将调用 FREContext 类的 Java
dispose()
方法。
FREContext 示例
下面的示例演示一个简单的 FREContext 实现。此类创建一个函数映射,其中包含一个函数。
package com.example;
import java.util.HashMap;
import java.util.Map;
import android.util.Log;
import com.adobe.fre.FREContext;
import com.adobe.fre.FREFunction;
public class ExtensionContext extends FREContext {
private static final String CTX_NAME = "ExtensionContext";
private String tag;
public ExtensionContext( String extensionName ) {
tag = extensionName + "." + CTX_NAME;
Log.i(tag, "Creating context");
}
@Override
public void dispose() {
Log.i(tag, "Dispose context");
}
@Override
public Map<String, FREFunction> getFunctions() {
Log.i(tag, "Creating function Map");
Map<String, FREFunction> functionMap = new HashMap<String, FREFunction>();
functionMap.put( UsefulFunction.KEY, new UsefulFunction() );
return functionMap;
}
public String getIdentifier() {
return tag;
}
}
|
|
|