WEB开发网
开发学院手机开发Android 开发 Android:webView总结 阅读

Android:webView总结

 2010-09-10 01:03:00 来源:WEB开发网   
核心提示:大部分内容为网上整理其它高人的帖子,现只作整理,Android:webView总结,用于查看:在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件,整个Browser会调用finish()而结束自身,如果希望浏览的网 页回退而不是推出浏览器,什么是webkitWebK

大部分内容为网上整理其它高人的帖子,现只作整理,用于查看:

Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件。

什么是webkit

WebKit 是Mac OS X v10.3及以上版本所包含的软件框架(对v10.2.7及以上版本也可通过软件更新获取)。 同时,WebKit也是Mac OS X的Safari网页浏览器的基础。WebKit是一个开源项目,主要由KDE的KHTML修改而来并且包含了一些来自苹果公司的一些组件。

传统上,WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS。不过,随着JavaScript引擎的独立性越来越强,现在WebKit和WebCore已经基本上混用不分(例如Google Chrome和Maxthon 3采用V8引擎,却仍然宣称自己是WebKit内核)。

这里我们初步体验一下在android是使用webview浏览网页,在SDK的Dev Guide中有一个WebView的简单例子 。

在开发过程中应该注意几点:

1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。

2.如果访问的页面中有Javascript,则webview必须设置支持Javascript。

webview.getSettings().setJavaScriptEnabled(true);

3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。

1. mWebView.setWebViewClient(new WebViewClient(){

2. public boolean shouldOverrideUrlLoading(WebView view, String url) {

3. view.loadUrl(url);

4. return true;

5. }

6. });

mWebView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } });

4.如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网 页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。

1. public boolean onKeyDown(int keyCode, KeyEvent event) {

2. if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack())

1 2 3  下一页

Tags:Android webView 总结

编辑录入:coldstar [复制链接] [打 印]
赞助商链接