2014-02-21 60 views
2

在我的android應用程序中需要調用javascript函數。如果我從android使用webview調用工作正常。 但我想調用沒有webview,我與android作爲客戶端和node.js作爲服務器,我想溝通兩個沒有webview。是否有可能從android中調用方法JavaScript而無需webview?

例如在我的javascript我有這個功能

function test(){ 
    //script for insert data here 
} 

我想從Android的調用測試功能沒有web視圖,如何實現這一目標?我該怎麼辦?

謝謝。

回答

2

請參閱AndroidJSCore。它是Android的JavaScriptCore的完整端口,並且運行JavaScript時無需龐大而慢速的WebView。

示例代碼段:

JSContext context = new JSContext(); 
context.evaluateScript("a = 10"); 
JSValue newAValue = context.property("a"); 
System.out.println(df.format(newAValue.toNumber())); // 10.0 
String 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 

文檔:http://ericwlange.github.io/

+0

請注意,AndroidJSCore庫是巨大的(40MB大)。開發人員目前正在尋找減少佔地面積的方法。 –

相關問題