對于android初學者應該都了解webview這個元件。之前我也是對其進行了一些簡單的了解,但是在一個項目中不得不用webview的時候,發現了webview的強大之處,今天就分享一下使用webview的一些經驗。
1、首先了解一下webview。
webview介紹的原文如下:a view that displays web pages. this class is the basis upon which you can roll your own web browser or simply display some online content within your activity. it uses the webkit rendering engine to display web pages and includes methods to navigate forward and backward through a history, zoom in and out, perform text searches and more.
從上面你應該了解到了基本功能,也就是顯示網頁。之是以我說webview功能強大是因為它和js的互動非常友善,很簡單就可以實作。
2、webview能做什麼?
①webview可以利用html做界面布局,雖然目前還比較少人這麼使用,不過我相信當一些用戶端需要複雜的圖文(圖文都是動态生成)混排的時候它肯定是個不錯的選擇。
②直接顯示網頁,這功能當然也是它最基本的功能。
③和js互動。(如果你的js基礎比java基礎好的話那麼采用這種方式做一些複雜的處理是個不錯的選擇)。
3、如何使用webview?
這裡直接用一個svn上取下的demo,先上demo後講解。demo的結構圖如下:

webviewdemo.java
demo.html
main.xml
4、如何互動?
①android如何調用js。
調用 形式:
其中wave()是js中的一個方法,當然你可以把這個方法改成其他的方法,也就是android調用其他的方法。
②js如何調用android。
調用形式:
代碼中的“demo”是在android中指定的調用名稱,即
代碼中的clickonandroid()是“demo”對應的對象:new demojavascriptinterface() 中的一個方法。
③雙向互動。
當然是把前面的兩種方式組合一下就可以了。
5、講解demo。
現在你一定了解了android和js的互動了。是時候分析一些demo了,根據上面講的你也應該比較清楚了。具體互動流程如下:
①點選圖檔,則在js端直接調用android上的方法clickonandroid();
②clickonandroid()方法(利用線程)調用js的方法。
③被②調用的js直接控制html。
個人總結:利用webview的這種方式在有些時候ui布局就可以轉成相應的html代碼編寫了,而html布局樣式之類有dw這樣強大的工具,而且網上很多源碼,很多代碼片。在ui和視覺效果上就會節省很多時間,重複發明輪子沒有任何意義。