网站切片 做程序,找黄岩做网站企业,李洋网络做网站怎么样,整合营销中的4c指的是什么可以在Android中使用JavaScript吗#xff1f;如果是这样#xff0c;怎么办#xff1f;请提供一些示例。谢谢。最佳答案我在这里参加聚会很晚#xff0c;但是我确实有这个需要。 iOS 7现在包含JavaScriptCorenative #xff0c;并且确实很容易使用(尽管文档有限)。问题是我…可以在Android中使用JavaScript吗如果是这样怎么办请提供一些示例。谢谢。最佳答案我在这里参加聚会很晚但是我确实有这个需要。 iOS 7现在包含JavaScriptCorenative 并且确实很容易使用(尽管文档有限)。问题是我不想使用它除非我也可以在Android上使用类似的东西。所以我创建了AndroidJSCore project。它使您可以在Android中原生使用JavaScript代码而无需庞大的WebView和注入(inject)。您也可以无缝地进行异步Java和Javascript之间的调用。更新17年3月27日:不再推荐使用AndroidJSCore而推荐使用LiquidCore。 LiquidCore基于V8而不是JavascriptCore但工作原理基本相同。参见documentation on using LiquidCore as a raw Javascript engine。从文档中:…要开始使用您需要创建一个JavaScript JSContext。 JS代码的执行发生在此上下文中并且单独的上下文是隔离的虚拟机这些虚拟机不要互相影响。JSContext context new JSContext();此上下文本身就是一个JavaScript对象。这样您可以获取并设置其属性。由于这是全局JavaScript对象因此这些属性将位于顶级环境中所有后续代码的上下文。context.property(a, 5);JSValue aValue context.property(a);double a aValue.toNumber();DecimalFormat df new DecimalFormat(.#);System.out.println(df.format(a)); // 5.0您还可以在上下文中运行JavaScript代码:context.evaluateScript(a 10);JSValue newAValue context.property(a);System.out.println(df.format(newAValue.toNumber())); // 10.0String script function factorial(x) { var f 1; for(; x 1; x--) f * x; return f; }\n var fact_a factorial(a);\n;context.evaluateScript(script);JSValue fact_a context.property(fact_a);System.out.println(df.format(fact_a.toNumber())); // 3628800.0您还可以使用Java编写函数但将其公开给JavaScript:JSFunction factorial new JSFunction(context,factorial) {public Integer factorial(Integer x) {int factorial 1;for (; x 1; x--) {factorial * x;}return factorial;}};这将创建一个JavaScript函数该函数将在以下情况下调用Java方法factorial:从JavaScript调用。然后可以将其传递给JavaScript VM:context.property(factorial, factorial);context.evaluateScript(var f factorial(10);)JSValue f context.property(f);System.out.println(df.format(f.toNumber())); // 3628800.0