Hello, WebView
一个WebView允许你创建一个属于你自己的网页浏览器活动对象(web browser Activity)。 在本教程中, 我们会创建一个简单的活动对象(Activity),它将可以查看网页。
- 创建一个新的 工程/活动对象 命名为 HelloWebView。
- 打开布局文件(layout file),插入一个 WebView 看起来就像这样:
- 现在打开 HelloWebView.java 这个文件。 在类文件的上面,,实例化一个 WebView 的对象:
然后添加在 onCreat() 方法结尾处:
它绑定了我们在 layout 中创建的 WebView,申请一个 Websettings和激活 JavaScript。最后我们加载一个网址。
- 因为我们访问互联网,我们需要在 Android manifest文件中添加适当的权限。 所以打开这个 AndroidManifest.xml文件,作为
Manifest的子元素添加如下代码:
- 运行。
您现在已经有了世界上最简单的网页浏览器,但这还不是一个完整的浏览器.,仅仅加载了我们所要求的网页。
我们可以加载一个网页,但只要我们点击一个链接时,默认的Android网络浏览器会处理这个意向,而不是我们自己的 WebView, 所以现在我们将覆盖 WebViewClient,使我们能够处理我们自己的网址加载。
- 在HelloAndroid Activity中, 添加这个嵌套的类:
- 现在,在onCreate方法中, 实例化的一个
HelloWebViewClient
作为我们的WebViewClient:此行应立即按照我们的 WebView对象初始化。
我们所做的就是创建一个WebViewClient 将在同一个WebView中加载任何我们选择的网址。你可以在shouldOverrideUrlLade
()
方法中看到这些, 以上是通过当前的WebView和URL,因此我们要做的就是加载这个URL在一个特定的view中。返回True说明了我们处理自己的URL和 the event should not bubble-up。如果您再次尝试,新的页面就装载在HelloWebView Activity上了,但是你会发现我们不能返回上一页面。我们需要在设备上处理返回按钮,以便将返回到前一页,而不是退出该应用程序。
- 处理后退按钮按键,在HelloWebView Activity 内添加下面的方法:
这个条件用KeyEvent 事件检查是否按下了回退按钮和Webview 是否能够返回 (如果它有一个历史记录). 如果两个值都不为true,那么我们会发出这个链事件 (Activity将会关闭)。但是如果都满足的话,会执行goBack(), 将回到历史的某一步. 然后我们返回true表明我们处理了这个事件。
当您打开应用程序,它看起来应该像这样:
翻译自:http://androidappdocs.appspot.com/guide/tutorials/views/hello-webview.html