我们的团队目前正在考虑使用哪个 JavaScript Engine Bridge。我们在LiquidCore和J2V8之间进行选择。我的问题是关于 j2v8。假设我必须在 JavaScript 中创建一些 java 类的几个实例,如何j2v8
使用标准实例化注释(new ClassName())来实现这一点?在 Liquidcore 中,您可以使用超级构造函数绑定一些扩展JSFuction的类:
JSFunction(JSContext ctx, final String methodName, final Class<?extends JSObject> instanceClass)
并使用所需的类名注册属性,如下所示:
jsBaseContext.getJsContext().property("WebSocket", this);
然后打电话:
var x = new WebSocket();
java方法methodName将触发,我们将获得新的instanceClass作为JSValue对象作为参数,已经绑定并准备好在javascript中使用。