編輯:關於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吧。
Linux0.11內核--內存管理之1.初始化,linux0.11內存管理【版權所有,轉載請注明出處。出處:http://www.cnblogs.com/joey-hua
Android開發框架,android框架總覺得不用框架直接開發比較繁瑣,java下有很多,我使用ssh,php下有很多,我使用ThinkPHP,Delphi下還沒有找到
android:Activity數據傳遞之基本數據類型 既然是activity之間的數據傳遞 肯定有兩個activity 我們先創建兩個activity,在MainA
Android Bitmap占用內存計算公式,androidbitmap Android對各分辨率的定義 當圖片以格式ARGB_8888存儲時的計算方式 占用內存=圖片長
如何在Android的ListView中構建CheckBox和Radio