編輯: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吧。
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
前言 之前因為項目需求,其中使用到了圖片的單擊顯示取消,圖片平移縮放功能,昨天突然想再加上圖片的旋轉功能,在網上看了很多相關的例子,可是沒看到能同時實現我想要的功
現在的Android應用,只要有一個什麼新的創意,過不了多久,幾乎所有的應用都帶這個創意。這不,咱們公司最近的一個持續性的項目,想在首頁加個從左滑動出來的菜單,我
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我