WebView
public class WebView
extends AbsoluteLayout implements ViewTreeObserver.OnGlobalFocusChangeListener,
ViewGroup.OnHierarchyChangeListener
java.lang.Object
↳android.widget.AbsoluteLayout
↳android.webkit.WebView
【概述】
显示网页的视图。此类是您可以滚动自己的Web浏览器或只显示您的活动中的一些在线内容的基础。 它使用WebKit渲染引擎来显示网页,并包括通过历史记录向前和向后浏览,放大和缩小,执行文本搜索等方法。
请注意,为了让您的Activity访问Internet并在WebView中加载网页,您必须将INTERNET权限添加到Android清单文件中:
<uses-permission android:name="android.permission.INTERNET" />
这必须是<manifest>元素的子元素。
有关更多信息,请参阅 Building Web Apps in WebView。
【基本用法】
默认情况下,WebView不提供浏览器小部件,不支持JavaScript,web页面错误被忽略。如果你的目的是只显示一些
HTML 网页作为UI界面的一部分,这可能是好的。用户不需要与网页交互。
如果你真的想要一个成熟的web浏览器,那么你可能想和一个URL调用浏览器应用程序的意图,而不是显示
WebView。例如:
Uri uri = Uri.parse("http://www.example.com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
有关详细信息,请参阅Intent。
要在自己的Activity中提供WebView,请在布局中包含<WebView>,或在onCreate()中将整个活动窗口设置为
WebView:
WebView webview = new WebView(this);
setContentView(webview);
然后加载所需的网页:
//最简单的用法:注意不会抛出异常
//如果加载此页面时出错(见下文)。
webview.loadUrl(“http://slashdot.org/”);
// 或者,您也可以加载HTML字符串:
String summary =“<html> <body>You scored<b> 192 </ b>points.</ body> </ html>”
webview.loadData(summary,“text / html”,null);
// ...但是请注意这对HTML有限制。
//有关更多信息,请参阅JavaDocs的loadData()和loadDataWithBaseURL()。
WebView有几个自定义点,您可以添加自己的行为。 这些是:
· 创建和设置WebChromeClient子类。当浏览器的UI发生变化时调用,如:进度条更改、JavaScript的窗口。
(见Debugging Taskshttp://developer.android.com/tools/debugging/index.html)
· 创建和设置WebViewClient