在实际项目中找到两款可以在android平台使用的javascript引擎,duktapeJava 和 LiquidCore 本文重点关注 duktapeJava的使用
duktapeJava | liquidCore | |
---|---|---|
支持平台 | java/android | java/android |
es6支持 | 否 | 是 |
使用便捷 | 是 | 一般 |
性能 | 一般 | 良 |
体积 | 小 | 大 |
相对于liquidCore duktapeJava对于java对象的支持更加便捷 , 但是需要用duktapeJava提供的转义工具,对javascript进行转义,否则无法引用java对象。
1. duktapeJava的基本使用
1.1 gradle 依赖引入
compile 'com.furture.react:DuktapeJava:1.2.0'
or
compile 'com.furture.react:DuktapeJava:1.2.0@aar'
1.2 加载javascript
1 |
|
- 首先新建一个duktape引擎对象
- AssetScript.toScript主要是为了转义,好让我们内置的java对象能够在javascript文件里面使用
- duktape.execute 执行语句
以上四步就是实例化引擎并执行javascript的完整流程
2.javascript 调用java代码
- 首先要新建一个sprite 对象
sprite = new Sprite();
1 | public class Sprite { |
- 将sprite加载进javascript引擎
duktape.put(sprite,”sp”)
那么我们就可以在 javascript里面通过 sp.getX()调起 sprite里面的方法
2. java调用javascript函数和对象
javascript 语句如下
1 | var obj = { |
java代码:
1 |
|