了解Android WebView

最近公司的项目在做H5测试,自己只是写业务逻辑的android小白,听着大家在说什么webview、webkit....,云里雾里。所以就抽出下班后的一点时间来了解一下相关的概念和知识点,然后记录总结。
1、为什么Android App 可以显示web页面?
作为Android开发者,应该都知道在手机中内置了一款高性能 webkit 内核浏览器,在 SDK 中封装为一个叫做 WebView 组件。目前很多Android App 都内置了可以显示web页面的界面,会发现这个界面一般是由WebView的组件渲染出来的。 WebView(网络视图)能加载显示网页,可以将其视为一个浏览器,它使用了WebKit渲染引擎加载显示网页。
WebView的优点:
(1)可以直接显示和渲染web页面,直接显示页面
(2)WebView可以直接用html文件作布局
(3)和JavaScript交互调用
在activity中即可获得WebView的引用,同时load一个网址:
webview = (WebView) findViewById(R.id.webView1);
webview.loadUrl("http://www.baidu.com/");
//webview.reload();// reload page
页面中的链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 WebView的WebViewClient对象.
mWebView.setWebViewClient(new WebViewClient(){
	public boolean shouldOverrideUrlLoading(WebView view, String url){ 
		view.loadUrl(url);
		return true;
	}
});
2、Webkit简介
Webkit是一个开源的Web浏览器引擎,也就是浏览器的内核。Apple的Safari, Google的Chrome, Nokia S60平台的默认浏览器,Apple手机的默认浏览器,Android手机的默认浏览器均采用的Webkit作为浏览器内核。Webkit理所当然的成为了当今主流的三大浏览器内核之一。另外两个分别是Gecko和Trident,大名鼎鼎的Firefox便是使用的Gecko 内核,而微软的IE系列则使用的是Trident内核。虽然目前市场上IE内核浏览器仍然占据大多数市场份额,但其他内核浏览器也大有后来居上之势。其中,Webkit作为一款优秀的浏览器内核,它众多优秀的特性引起业内的的广泛关注。尤其是近来,google的加入更是让Webkit有所升温,从 Goole Chrome浏览器, Google Android手机操作系统内置浏览器均采用Webkit作为内核,近来推出的Chrome OS更是让人期待。
Webkit组成

从代码结构上看WebKit包含三大部分

了解Android WebView_第1张图片

WebCore是Webkit的核心部分,它实现了对文档的模型化,包括了CSS, DOM, Render等的实现, JavaSript Core显然是对JavaSript支持的实现。而橘黄色标注的Webkit部分包含了很多不同平台对Webkit封装的实现,即抽象出了与浏览器所能直 接对应的一些概念的实现,如,WebView,WebPage, WebFrame等。这三部分共同构成了Webkit, 在源码中,它们分别对应这个这三个目录, 即Webkit三大部分为WebCore, JavaSript Core,Webkit。
应用程序如何利用Webkit:
利用Webkit的应用程序的位置处于Webkit模块之上,应用程序并不直接和WebCore以及JavaScript Core来打交道,而是同Webkit模块来交互,从而屏蔽了WebCore和JavaSript Core部分。Webkit模块实际上抽象出了大多数应用程序所需要的那一部分,这里所说的大多数应用程序其实就是指的浏览器, 对于实现一个浏览器而言,Webkit模块所提供的接口已经足够。不过对于某些应用,可能得对其实施一定的改造,但Webkit本来就是被设计成为Browser的内核而被实现的。很多平台都提供了Browser组件,其使用方法就像是其他可视组件一样,在应用程序中应用起来非常方便。比如,提供的叫做WebView的可视化组件
了解Android WebView_第2张图片

未完待续~

参考博客:
http://www.cnblogs.com/jyli/archive/2010/01/31/1660355.html

你可能感兴趣的:(基础知识)