移动应用开发,web app、Native app的讨论已经很久了,纯粹的web app还很少,多少能见到Native + web混合的app,混合的app是在Native app中写一个浏览器加载 web,说浏览器可能有点大了,简单一点就是Native app中使用了webview。webview主要用途是用来渲染网页。由于于良好的封装,WebView屏蔽了底层webkit复杂的细节,应用程序只需要寥寥几行代码,就可以为应用程序增加HTML支持,为混合 app开发提供了强力支持。
WebView在android.webkit包下,这个包还包含、WebSettingsWebViewClient、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);
demo下载:http://download.csdn.net/detail/xyz_lmn/6277799
/**
* @author 张兴业