1. 程式人生 > >Android studio 中與本地 html 頁面互動

Android studio 中與本地 html 頁面互動

  在Android studio的工程裡的main目錄下建立一個 assets目錄與res同級如下圖:

在assets目下考入寫好的html頁面,webview通過“file:///android_assets/xxxx.html”載入此檔案。

_webView.loadUrl("file:///android_asset/01_test.html");
下面說一下java與js之間的互動:
首先webview要設定支援 js:_webView.getSettings().setJavaScriptEnabled(true);再註冊js訪問java的介面:
_webView.addJavascriptInterface(new 
Contact(),"contact");
class Contact{
    @JavascriptInterface//必須標明否則訪問不了public void clickAndroid() {
        Toast.makeText(MyWebViewActivity.this, "contact success", Toast.LENGTH_LONG).show();
}
}
js訪問Android本地方法:繫結的關鍵字“aontact”.加方法名如下:
function opAndroid(){
contact.clickAndroid
}
<button  id="button" 
onclick="contact.clickAndroid()">
Android 訪問js方法:
首先在html的js中構建一個方法
 <script type="text/javascript">
function invokedByJava(param) {
         document.getElementById("button").innerHTML = "Java has invoked JS function and returnd the data:"+param;
     }
</script>
再通過地址:(由javascript:function())組成如下:
_webView.loadUrl("javascript:invokedByJava('java_data')");(必須在UI執行緒,否則無法訪問)