天天看點

【Android開發】網路程式設計及Internet應用-使用WebView顯示網頁

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中加入通路網絡的權限:

運作結果如圖

【Android開發】網路程式設計及Internet應用-使用WebView顯示網頁

(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:

【Android開發】網路程式設計及Internet應用-使用WebView顯示網頁

(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

運作結果為圖

【Android開發】網路程式設計及Internet應用-使用WebView顯示網頁

(4)整合項目:利用webview打造功能實用的浏覽器

實作一個包含前進、後退功能并支援javascript的網頁浏覽器

布局xml檔案中包含前進和後退按鈕,一個url位址輸入框,一個"go"按鈕,還有下方的webview元件

界面效果如圖

【Android開發】網路程式設計及Internet應用-使用WebView顯示網頁

要在androidmanifest.xml中設定強制橫屏(android:screenorientation="landscape"):

運作效果如圖

【Android開發】網路程式設計及Internet應用-使用WebView顯示網頁

怎麼樣?你掌握webview的使用技術了嗎?趕快動手來做吧!

轉載請注明出處:http://blog.csdn.net/acmman/article/details/46489353