Android中的混合开发:
java-->js:Android中的WebView的loadUrl方法调用JS中funcion方法。
js-->java:js中的事件按钮调用java中的自定义类中标注@JavascriptInterface的方法。
一.java调js
1.加载:webView.loadUrl("file:///android_asset/xxx.html);
2.交互:
java:
//eg.javascript:javaCallJs('hi,js!')
//xxxCallJs必须与JS中的funciton方法同名。
webView.loadUrl("javascript:xxxCallJs("+"'"+hi,js!+"'"+")");
setContentView(webView);
js:
function xxxCallJs(arg){
document.getElementById("content").innerHTML = arg;
}
二.js调java
1.js:
//xxxcustomIdentifier必须与java中addJavascriptInterface中的标识符相同。
onclick="window.xxxcustomIdentifier.showToast()";
2.java:
class CustomClass{
@JavascriptInterface
public void showToast(){Toast.makeText(x,x,x).show();}
}
webView.addJavascriptInterface(new CustomClass(),"xxxcustomIdentifier");