Android網絡編程之WebKit應用

  Android中,提供了WebKit引擎用於對網頁瀏覽和操做進行編程。GoogleWebKit進行了封裝,提供了豐富的Java接口,其中最重要的即是android.webkit.WebView控件。javascript

 

1. WebViewer控件 java

  Android提供了WebView控件專門用來瀏覽網頁。其使用方法和其餘控件同樣,須要在佈局文件中進行佈局,而後在程序中就能夠使用並進行設置了。經過loadUrl方法,能夠訪問網頁。代碼以下:android

 
 

       
       
                
       
       
  1. wb=(WebView)findViewById(R.id.wb);  
  2. wb.loadUrl(url); 

 

  對於瀏覽器的設置,能夠經過WebSettings來設置WebView的一些屬性、狀態等。代碼以下:web

 
 

       
       
                
       
       
  1. WebSettings webSettings = mWebView.getSettings();    
  2.         webSettings.setJavaScriptEnabled(true);  
  3.         //設置能夠訪問文件  
  4.         webSettings.setAllowFileAccess(true);  
  5.         //設置支持縮放  
  6.         webSettings.setBuiltInZoomControls(true);  

 

 

2. WebViewClientWebChromClient 編程

  WebViewClientWebChromClientshi 能夠看做是輔助WebView管理網頁中各類通知、請求等事件以及JavaScript時間的兩個類。 瀏覽器

2.1 WebViewClient ide

  經過WebViewsetWebViewClient方法指定一個WebViewClient對象。經過覆蓋該類的方法來輔助WebView瀏覽網頁。代碼以下:佈局

 
 

       
       
                
       
       
  1. mWebView.setWebViewClient(new WebViewClient()  
  2.         {     
  3.             public boolean shouldOverrideUrlLoading(WebView view, String url)   
  4.             {     
  5.                 view.loadUrl(url);     
  6.                 return true;     
  7.             }    
  8.             @Override 
  9.             public void onPageFinished(WebView view, String url)   
  10.             {  
  11.                 super.onPageFinished(view, url);  
  12.             }  
  13.             @Override 
  14.             public void onPageStarted(WebView view, String url, Bitmap favicon)   
  15.             {  
  16.                 super.onPageStarted(view, url, favicon);  
  17.             }  
  18.         });  

 

 

2.2 WebChromClient ui

  對於網頁中使用的JavaScript腳本語言,就能夠使用該類處理Js事件,如對話框加載進度等。例如:this

 

   
   
            
   
   
  1. mWebView.setWebChromeClient(new WebChromeClient(){  
  2.             @Override 
  3.             //處理javascript中的alert  
  4.             public boolean onJsAlert(WebView view, String url, String message,  
  5.                     final JsResult result)   
  6.             {  
  7.                 //構建一個Builder來顯示網頁中的對話框  
  8.                 Builder builder = new Builder(Activity01.this);  
  9.                 builder.setTitle("提示對話框");  
  10.                 builder.setMessage(message);  
  11.                 builder.setPositiveButton(android.R.string.ok,  
  12.                         new AlertDialog.OnClickListener() {  
  13.                             public void onClick(DialogInterface dialog, int which) {  
  14.                                 //點擊肯定按鈕以後,繼續執行網頁中的操做  
  15.                                 result.confirm();  
  16.                             }  
  17.                         });  
  18.                 builder.setCancelable(false);  
  19.                 builder.create();  
  20.                 builder.show();  
  21.                 return true;  
  22.             };  
相關文章
相關標籤/搜索