下面的說明轉自網上,是一個朋友自己學習的經驗分享吧。我貼出來,大家多多注意,少犯錯誤。
重要說明:
android中的關鍵代碼:
webview.getSettings().setJavaScriptEnabled(true);
webview.addJavascriptInterface(object,"name");//把Name="name"的對象添加到object中。object如果是this,就是window.name
webview.loadUrl("file:///android_asset/index.html");//注意這個資源的位置是跟res並列的檔案夾下。
js或html中調用android中方法代碼:
如:
或js中 window.name.java中的方法();
android中調用js的function方法:
Callfunction(){
webview.loadUrl("javascript: function ()");
}
需要注意的地方,很多資料類型js中不認識,最好是在android那邊封裝好,提供必要的方法介面。比如傳到js中的list,在js中是沒辦法去得到裡面的元素的。
addJavascriptInterface:addJavascriptInterface方法中要綁定的Java對象及方法要運行在另外的線程中,不能運行在構造他的線程中,也就是說不能運行在當前的activity線程中,就是把這個方法綁定到頁面中,js也可以調用
文檔中的解釋:
Use this function to bind an object to Javascript so that the methods can be accessed from Javascript.
The Java object that is bound runs in another thread and not in the thread that it was constructed in.
其實上邊都是廢話:
重點是:以下兩個串連
都是參考他們的:
1:.http://ysongren.blog.163.com/blog/static/6154220720109211020410/
2. http://blog.csdn.net/hanyuwei0/article/details/6541531