Android開發-WebView(一)

語言: CN / TW / HK

持續創作,加速成長!這是我參與「掘金日新計劃 · 6 月更文挑戰」的第19天,點選檢視活動詳情

上一篇我們介紹了安卓開發中的一個特殊元件-Webview,它主要是方便我們在App中使用web頁面的載入, 對於一些變化頻繁,業務需求量大的頁面都可以使用web網頁來實現,因為它可以實現動態更新頁面內容,無需客戶升級APP,這個時候就需要使用到webview了,上一篇文章主要介紹了下webview的定義以及它的四種載入方法,下面我們具體介紹它的實現以及一些屬性介紹。

Webview的簡單使用

1、建立一個包含webview的layout

<WebView android:id="@+id/wv_webview" android:layout_width="match_parent" android:layout_height="match_parent" />

2、在Activity使用

``` public class MainActivity extends Activity {

private WebView webView;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    webView = findViewById(R.id.wv_webview);
    loadWeb();
}

private void loadWeb(){
    webView.loadUrl("http://www.baidu.com");
}

}

``` 這樣就已經可以實現webview載入網頁了,但是如果網址裡有頁面跳轉,或者一些特定的應用跳轉,比如撥打電話,開啟第三方app等等,這個時候就需要設定我們webview的處理資料的方法,也就是我們接下來要介紹的webview的內建方法。

webview的內建方法

setWebViewClient:WebViewClient是輔助WebView處理各種通知、請求等事件的類。通過WebView的setWebViewClient方法指定WebViewClient;

setWebChromeClient:字面的意思理解,就是處理webview核心渲染的,主要處理解析,渲染網頁等瀏覽器做的事情;

WebSettings:是webview設定一些web頁面需要的設定,包括是否支援JavaScript指令碼,硬體加速,軟體加速,是否使用DomStorage儲存,是否支援縮放等等,同時webview也可以支援載入js,支援和js的互動,通過介面呼叫完成和js的相互邏輯呼叫,addJavascriptInterface,當我們正式使用的時候,這些設定都是必須的,還有一些設定是需要根據系統版本來設定,因為核心版本的問題已經安卓系統的相容性問題。