2012年10月4日 星期四

(Android Note) webview Javascript使用方法


1. code

String str = "<html><head></head><body>" +
    "<button onClick='javascript:js.setJava(\"HELLO\")' >執行java的function做處理</button>" +
    "<div id='output'>output:</div>" +
        "<script>document.write(js.getJava());</script>" +
    "</body></html>";
    
    wv = (WebView)findViewById(R.id.webView1);
    wv.addJavascriptInterface(this, "js"); 
    wv.getSettings().setJavaScriptEnabled(true); 
    wv.loadDataWithBaseURL("about:blank",str, "text/html", "utf-8", null); 



 public void setJava(String value){
Log.e("HELLO", value);
}
 public String getJava(){
        return "HELLO";
}

2. 說明

  •  javascript:js.setJava(\"HELLO\"); //呼叫 java中的程式function
  • <script>document.write(js.getJava());</script> //從java中的function取得值
  • wv.addJavascriptInterface(this, "js"); // 設定webview和javascript溝通的橋梁,別名js
  •  wv.getSettings().setJavaScriptEnabled(true); //是否允許webveiw執行javascript代碼
  • wv.loadDataWithBaseURL("about:blank",str, "text/html", "utf-8", null); //帶入字串
  • wv.loadUrl("http://XXX/aaa.php"); //帶入網址
  • wv.loadUrl(file:///android_asset/aaa.html); //帶入檔案,檔案位置必須要放置assets/www目錄下才可。至於大多人說放置assets就可以使用,在下是執行都會錯誤




沒有留言:

張貼留言