1. 程式人生 > >Android WebView-應用內嵌入瀏覽器

Android WebView-應用內嵌入瀏覽器

       移動應用開發,web app、Native app的討論已經很久了,純粹的web app還很少,多少能見到Native + web混合的app,混合的app是在Native app中寫一個瀏覽器載入 web,說瀏覽器可能有點大了,簡單一點就是Native app中使用了webview。webview主要用途是用來渲染網頁。由於於良好的封裝,WebView遮蔽了底層webkit複雜的細節,應用程式只需要寥寥幾行程式碼,就可以為應用程式增加HTML支援,為混合 app開發提供了強力支援。       

WebView在android.webkit包下,這個包還包含、WebSettings

WebViewClient、WebChromeClient輔助類。WebViewClient是輔助WebView處理各種通知、請求事件,WebChromeClient是輔助WebView處理Javascript的對話方塊,網站圖示,網站title,載入進度等。WebSettings管理WebView的設定狀態。該物件可以通過WebView.getSettings()方法獲得。看下面的例子:

	webView = (WebView) findViewById(R.id.webview);
		webView.setWebViewClient(new WebViewClient() {
			// Load opened URL in the application instead of standard browser
			// application
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				view.loadUrl(url);
				return true;
			}
		});

		webView.setWebChromeClient(new WebChromeClient() {
			// Set progress bar during loading
			public void onProgressChanged(WebView view, int progress) {
				BrowserActivity.this.setProgress(progress * 100);
			}
		});

		// Enable some feature like Javascript and pinch zoom
		WebSettings websettings = webView.getSettings();
		websettings.setJavaScriptEnabled(true);		// Warning! You can have XSS vulnerabilities!
		websettings.setBuiltInZoomControls(true);



/*** @author 張興業