android和javascript结合的开始

 1 public void onCreate(Bundle savedInstanceState) {
 2        super.onCreate(savedInstanceState);
 3        Context cx = Context.enter();//当前线程上下文创建
 4 
 5         // 初始化标准对象function object 等等
 6         // 这个事必须执行的
 7         Scriptable scope = cx.initStandardObjects(null);
 8 
 9         // 现在可以执行js脚本了
10         Object result = null;
11         try {
12             result = cx.evaluateString(scope, "obj = {a:1, b:['x','y']}",
13                                               "MySource", 1, null);
14         }
15         catch (JavaScriptException jse) {
16             // 异常代码
17         }
18         //获取全局对象,类似浏览器js里的window
19         FlattenedObject global = new FlattenedObject(scope);
20         //获取obj对象
21         FlattenedObject f = (FlattenedObject) global.getProperty("obj");
22 
23         // 打印结果"obj == result" 
24         Log.d("javascript","obj " + (f.getObject() == result ? "==" : "!=") +
25                            " result");
26 
27         // 打印结果"f.a == 1"
28         Log.d("javascript","f.a == " + f.getProperty("a"));
29 
30         FlattenedObject b = (FlattenedObject) f.getProperty("b");
31 
32         // 打印结果 "f.b[0] == x"
33         Log.d("javascript","f.b[0] == " + b.getProperty(new Integer(0)));
34 
35         // 打印结果 "f.b[1] == y"
36         Log.d("javascript","f.b[1] == " + b.getProperty(new Integer(1)));
37 
38         try {
39             //打印结果{a:1, b:["x", "y"]}
40            Log.d("javascript",f.callMethod("toString", new Object[0]));
41         } catch (PropertyException e) {
42             // ignore
43         } catch (NotAFunctionException e) {
44             // ignore
45         } catch (JavaScriptException e) {
46             // ignore
47         }
48 
49         cx.exit();
50 }

 

请下载rhino源码包

地址ftp://ftp.mozilla.org/pub/mozilla.org/js/older-packages/rhino14R3.zip

添加js.rar包到android 工程下

 

简单测试一下

 

转载于:https://www.cnblogs.com/HeiMan/p/3289436.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值