Android中,提供了WebKit引擎用於對網頁瀏覽和操作進行程式設計。Google對WebKit進行了封裝,提供了豐富的Java介面,其中最重要的便是android.webkit.WebView控制元件。
1. WebViewer控制元件
Android提供了WebView控制元件專門用來瀏覽網頁。其使用方法和其他控制元件一樣,需要在佈局檔案中進行佈局,然後在程式中就可以使用並進行設定了。通過loadUrl方法,可以訪問網頁。程式碼如下:
|
對於瀏覽器的設定,可以通過WebSettings來設定WebView的一些屬性、狀態等。程式碼如下:
|
2. WebViewClient和WebChromClient
WebViewClient和WebChromClientshi 可以看作是輔助WebView管理網頁中各種通知、請求等事件以及JavaScript時間的兩個類。
2.1 WebViewClient
通過WebView的setWebViewClient方法指定一個WebViewClient物件。通過覆蓋該類的方法來輔助WebView瀏覽網頁。程式碼如下:
|
2.2 WebChromClient
對於網頁中使用的JavaScript指令碼語言,就可以使用該類處理Js事件,如對話方塊載入進度等。例如:
- mWebView.setWebChromeClient(new WebChromeClient(){
- @Override
- //處理javascript中的alert
- public boolean onJsAlert(WebView view, String url, String message,
- final JsResult result)
- {
- //構建一個Builder來顯示網頁中的對話方塊
- Builder builder = new Builder(Activity01.this);
- builder.setTitle("提示對話方塊");
- builder.setMessage(message);
- builder.setPositiveButton(android.R.string.ok,
- new AlertDialog.OnClickListener() {
- public void onClick(DialogInterface dialog, int which) {
- //點選確定按鈕之後,繼續執行網頁中的操作
- result.confirm();
- }
- });
- builder.setCancelable(false);
- builder.create();
- builder.show();
- return true;
- };
- }