-
Notifications
You must be signed in to change notification settings - Fork 0
Home
neal01 edited this page Nov 8, 2018
·
1 revision
JSA4Java是JSAppSugar的Java实现,使用JSA4Java提供的API,你可以在Android/Java开发中调用使用JSAppSugar语法糖函数定义的JavaScript对象,同时也可以让JavaScript程序使用原生类而无需对原有程序做任何修改。
使用默认配置创建JSA4Java实例
JSA4Java jsa = new JSA4Java();
jsa.startEngine();
一个JSA4Java实例表示了一个JavaScript Context,不同的JavaScript Context中运行的JavaScript程序之间是隔离的。一般来说,一个应用应只使用一个JSA4Java实例。
JSA4Java默认使用DefaultJSClassLoader类加载器加载对应的JavaScript类定义文件,该加载器使用调用线程的ContextClassLoader从程序根路径开始加载资源文件。
出于对程序安全的考虑,你应该实现自己的JS类加载器程序,以便对JS程序进行加密处理。实现一个JS类加载器应实现JSClassLoader接口,定义如下:
public interface JSClassLoader {
public String loadJSClass(String className);
}
通过类名(不含.js),加载到对应的JS类定义文件。并在jsa.startEngine()之前替换掉默认的JS类加载器:
jsa.setJSClassLoader(yourJSClassLoader);
jsa4Java.startEngine()默认从JSA4Java的jar包中加载JSA4Java运行所需的js类文件,你也可以将JSAppSugar.js,JSA4Java.js加密后使用你自己的JS类加载器来加载:
jsa.startEngineWithLoader(yourJSClassLoader);