Atitit。Js调用后台语言 java c# php swing android swt的方法大总结
Atitit。Js调用后台语言 java c# php swing android swt的方法大总结
4. Js 调用Java Nashorn引擎,可以绑定对象1
1. Js调用后台语言有三种方法
绑定方法,绑定对象,直接使用api引入宿主环境
2. Swt BrowserFunction 绑定方法
BrowserFunction 是个非常有意思的类,它可以为 Browser 永久绑定一个 JavaScript 方法,它的构造函数是 BrowserFunction(browser:Browser, name:String)
3. Android webview 可以绑定对象
webView.addJavascriptInterface(new browExtObj(this), "browExt");
webView.addJavascriptInterface(new JsBridge(this), "jsBridge");
作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
4. Js 调用Java Nashorn引擎,可以绑定对象
4.1. 绑定对象方式
package aaaAddr;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.script.SimpleBindings;
public class js2java {
public static void main(String[] args) throws ScriptException {
// Nashorn——在JDK 8中融合Java与JavaScript之力.htm
// …或者你可以在Java中传递绑定,它们是可以从JavaScript引擎内部访问的全局变量
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine nashorn = scriptEngineManager.getEngineByName("nashorn");
int valueIn = 10;
SimpleBindings simpleBindings = new SimpleBindings();
simpleBindings.put("globalValue", valueIn);
simpleBindings.put("extObj", new Obj());
Object o = nashorn.eval("print (globalValue)", simpleBindings);
o = nashorn.eval("print (extObj.play('aaa'))", simpleBindings);
System.out.println(o);
}
}
4.2. 在Nashorn中直接使用Java类
前面已经提到,Nashorn最强大的功能之一源于在JavaScript中调用Java类。你不仅能够访问类并创建实例,你还可以继承他们,调用他们的静态方法,几乎可以做任何你能在Java中做的事。
5. 参考
atitit.javascript调用java in swt attilax 总结 - attilax的专栏 - 博客频道 - CSDN.NET.html
Nashorn——在JDK 8中融合Java与JavaScript之力.htm
相关文章
- Android开发之点九图的制作说明
- Android or java https ssl exception
- Android_(游戏)打飞机06:后续
- JAVA Eclipse 创建android xml看不到预览怎么办
- 117、Android应用程序退至后台,再次启动数据丢失的问题(转载)
- Android----paint触摸轨迹监听
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
- Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net
- Atitti.java android反编译解决方案-----虚拟机方案
- Android ListView + ArrayAdapter、SimpleAdapter、BaseAdapter实现列表
- Android Studio — Could not determine java version from ‘11.0.8‘. The project uses Gradle version wh
- Android Studio 详解build.gradle文件
- 【项目实战】接入极光推送SDK,实现从Java服务端后台推送自定义消息到Android车机端
- Android 画板(Canvas)设置背景图片,保存背景和涂鸦到本地图片的方法
- 【Groovy】Android Studio 中创建 Groovy 工程 ( 创建 Android Studio 工程 | 创建并改造 Java 依赖库 | 编写 Groovy 代码并运行 )
- 【Android 内存优化】Android 原生 API 图片压缩原理 ( 图片质量压缩方法 | 查找 Java 源码中的 native 方法对应的 C++ 源码 )
- 【Android 内存优化】Java 内存模型 ( Java 虚拟机内存模型 | 线程私有区 | 共享数据区 | 内存回收算法 | 引用计数 | 可达性分析 )
- Android 高手进阶,自己定义圆形进度条
- 做一个懒COCOS2D-X程序猿(一)停止手打所有cpp文件到android.mk
- 七年Android开发大佬呕心沥血之作:Android进阶知识点大合集!
- Android Java到OMX调用流程(十五)
- 在android的jni线程C传回调函数给java
- Android系统信息获取 之十一:获取IMEI,IMSI号