使用webview讓你的android加載html5頁面。


最近在弄咱家那個android客戶端,其中一個功能是能夠加載HTML5頁面,看了看資料,然后就弄好了,雖然比較搓~但其他方面以后再修補吧,先把功能完善先。

  android中瀏覽器的內核用的是webkit,webkit是一個開源的瀏覽器網頁排版引擎,蘋果的safari、google的chrome都是采用的這個引擎,可見其性能如何了。

  webkit由三個模塊組成:JavaScriptCore、WebCore和WebKit.

  在android中,提供了WebView控件專門用來瀏覽網頁、其使用和其他控件一樣。

  WebView的屬性設置是通過WebSettings來進行的,可以通過:

  WebSettings webSettings = mWebView.getSettings(); 

  來得到WebSettings對象,然后對WebView的一些屬性進行設置,例如啟動支持javascript腳本、支持頁面縮放等等。

  一般情況下,如果只是顯示一個網頁頁面的話,一個WebView就能夠完成任務了。但是,很多時候我們需要進行一些其他的處理,而且只是使用WebView來訪問網頁的話,這是通過調用系統瀏覽器來完成的,並不是我們自己的程序來完成的,如果需要在程序中自定義網頁瀏覽程序,則需要使用WebViewClient來完成這個功能。

  WebViewClient是專門輔助WebView處理各種通知、請求等事件的類,我們可以通過繼承WebViewClient並覆寫相應的方法來達到實現符合我們自己的需求。通過WebView的一個函數就可以簡單的給WebViewClient對象賦值。

  在設置好了WebViewClient后,我們就可以訪問網頁的大部分內容了,但是現在基本上所有的網頁都使用了javascript,尤其是使用HTML5開發的網頁游戲,更是如此,所有我們還必須使用一個類來處理,這時我們就需要用到:WebChromeClient類了。WebChromeClient類是用於輔助WebView處理javascript的對話框、網站圖標、網站title、加載進度等內容的。通過覆寫相應的方法我們可以自定義javascript的對話框樣式,使程序的界面個性化。

  弄到這一步,我們的程序再瀏覽網頁的功能上基本已經完成了,但是其性能方面就……不過既然是第一版,所以功能和界面為先、其他的以后再慢慢研究改進~

 

  小記:這里我們用到了WebView來加載網頁、使用WebSettings來設置WebView的一些屬性;使用WebViewClient來輔助WebView處理各種通知、請求等事件;使用WebChromeClient來處理網頁上面javascript的一些對話框、網頁圖標、title等內容。

  PS.既然我們可以自己處理javascript中得對話框等,也就是意味着我們可以在WebView和javascript中互相調用~下次再弄~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM