WEB开发网
开发学院手机开发Android 开发 Android webview 学习笔记 阅读

Android webview 学习笔记

 2010-09-14 14:06:00 来源:WEB开发网   
核心提示:android webview学习在移动互联网的争夺日趋白热化,各个互联网巨头纷纷推出自己的手机浏览器,Android webview 学习笔记,浏览器市场的争夺从桌面转移到了手机,在Android手机中内置了一款高性能webkit内核浏览器,整个Browser会调用finish()而结束自身,如果希望浏览的网页回退而

android webview学习

在移动互联网的争夺日趋白热化,各个互联网巨头纷纷推出自己的手机浏览器,浏览器市场的争夺从桌面转移到了手机。

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对象。[code]mWebView.setWebViewClient(new WebViewClient(){

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

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

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

mWebView.goBack();

return true;

}

return super.onKeyDown(keyCode, event);

1 2  下一页

Tags:Android webview 学习

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