Android中的混合开发

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");

猜你喜欢

转载自blog.csdn.net/qq_17441227/article/details/80733592