android提供了内置的浏覽器,該浏覽器使用了開源的webkit引擎。webkit不僅能夠搜尋網址、檢視電子郵件,而且能夠播放視訊節目。在android中,要使用内置的浏覽器,需要通過webview元件來實作。通過webview元件可以輕松實作顯示網頁功能。
如何在android中使用webview元件:
webview元件使用方法同其它元件一樣,既可以使用xml布局檔案配置,也可以在java檔案中通過new關鍵字建立。推薦使用xml布局檔案配置,配置方法:
web元件的常用方法:
loadurl(string url) 用于加載指定url對應的網頁
loaddata(string data,string mimetype,string encoding) 用于将指定的字元串資料加載到浏覽器中
loaddatawithbaseurl(string baseurl,string data,string mimetype,string encoding,string historyurl) 用于基于url加載指定的資料
capturepicture() 用于建立目前螢幕的快照
goback()執行後退操作,相當于浏覽器上後退按鈕的功能
goforward()執行前進操作,相當于浏覽器上前進按鈕的功能
stoploading()用于停止加載目前頁面
reload()用于重新整理目前頁面
下面利用幾個執行個體說明webview的應用
(1)例子1:使用webview元件浏覽指定網頁
res/layout/main.xml:
mainactivity:
别忘記在androidmanifest.xml中加入通路網絡的權限:
運作結果如圖
(2)例子2:使用webview加載html代碼
在進行android開發時,對于一些遊戲的幫助資訊,使用html代碼進行顯示比較實用,不僅可以讓界面更加美觀,而且可以讓開發更加簡單、快捷。
需要使用loaddatawithbaseurl()方法加載html代碼,基本文法格式如下:
loaddatawithbaseurl(string baseurl,string data,string mimetype,string encoding,string historyurl)
其中各項參數說明如下:
baseurl:用于指定目前頁面使用的基本url。如果為null,則使用預設的about:blank,即空白頁
data:用于指定要顯示的字元串資料
mimetype:用于指定要顯示的mime類型。如果為null,則預設使用text/html
encoding:用于指定資料的編碼方式
history:用于指定目前的曆史url,也就是進入該頁前顯示頁的url。如果為null,則使用預設的about:blank。
下面用一個執行個體來說明如何使用webview元件加載html代碼:
mainactivity:
(3)例子3:讓webview支援javascript
在預設的情況下,webview是不支援javascript的,但是有些網頁有需要實作javascript功能。這個時候要為webview加入相容javascript的功能。利用以下兩個步驟:
a.使用webview元件的websettings對象提供的setjavascriptenabled()方法讓javascript可用。
webview.getsettings().setjavascriptenabled(true);//設定webview元件相容javascript
b.通過上面的設定,大部分javascript可用,但是對于通過window.alert()方法彈出的對話框不可用。要想顯示彈出的對話框,需要使用webview元件的setwebchromeclient()方法來處理javascript的對話框,具體代碼如下:
webview.setwebchromeclient(new webchromeclient());
下面通過一個具體的執行個體來說明如何讓webview元件支援javascript
運作結果為圖
(4)整合項目:利用webview打造功能實用的浏覽器
實作一個包含前進、後退功能并支援javascript的網頁浏覽器
布局xml檔案中包含前進和後退按鈕,一個url位址輸入框,一個"go"按鈕,還有下方的webview元件
界面效果如圖
要在androidmanifest.xml中設定強制橫屏(android:screenorientation="landscape"):
運作效果如圖
怎麼樣?你掌握webview的使用技術了嗎?趕快動手來做吧!
轉載請注明出處:http://blog.csdn.net/acmman/article/details/46489353