Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android 的WebKit

Android 的WebKit

編輯:Android開發實例

  WebKit是一個浏覽器網頁排版的引擎,Chrome和Safari都使用該引擎。FireFox使用的是Gecko,IE自然就是MSHTML了,搞過web開發的大概都會被這些引擎之間的差異性折磨的生不如死,而且大概也會繼續被折磨下去。不過當各大廠商對WEB標准越來越重視,以後情況應該會有所改觀。

  跟Chrome一樣,Android內置的浏覽器引擎是WebKit,這裡不記錄其底層結構圖,只記錄其大概用法,涉及如下4個類:

  WebView
  看名字即可知道該類繼承自View,是視圖控件,對應的標簽是<WebView>主要用來顯示網頁內容,可以在XML配置其基本屬性,也可使用另一個類來描述這些屬性,可以使用其loadUrl()方法裝載網頁內容,獲取到服務器的HTML頁面後使用webkit引擎來排版顯示,實踐證明其並沒有針對手機做特別的處理(比如抓取網頁內容然後重新根據手機屏幕大小做重新排版網頁元素。至於有沒有這個技術還不清楚,這只是個人假想,也沒那麼多時間和精力去研究這個),跟在電腦上用Chrome看到的頁面沒什麼區別。WebView還負責記錄歷史記錄,可以調用goBack,goForward。

  WebSettings
  為WebView提供屬性設置。其setter方法可以設置字體大小,是否支持網絡,是否支持縮放,是否支持js等等。其實例通過WebView.getSettings()獲取到。

  WebViewClient
  在web應用中,經常需要監聽一些dom事件,比如onload,比如頁面跳轉,PC浏覽器自有對這些事件的處理,在手機客戶端中,我們現在僅僅只有一個WebKit引擎,它不足以滿足用戶對這些事件進行監聽的需求,此時需要WebViewClient了,覆蓋它的一些回調方法(onPageFinished(),shouldOverrideUrlLoading()等等),然後將其設入WebView中即可。

  WebChromeClient
  如果頁面中有一些交互,比如點擊按鈕alert出一些東西,比如prompt,比如confirm,比如網頁跳轉進度條等等,此時需要WebChromeClient,同樣覆蓋一些回調方法,然後將其設入WebView即可。
  把那些東西都用上的話,差不多就是一個簡單的浏覽器了。再在頂部放一個輸入框和按鈕,點擊按鈕就讓下面的WebView加載輸入框裡面的url,再加入一些特效,比如手指滑動翻頁,比如翻頁的3d效果等等,還有其他一些細節,大概就是一個可以浏覽網頁的UCWeb了。呵呵。
  這些都是從《Android應用開發揭秘》看來的,記錄個大概也不夠深入,需要的時候再去查閱api吧。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved