Web View使用介绍(一)

Web View允许你创建自己的窗口用于浏览网页,甚至是开发一个自己的浏览器.以下是一个简单的例子:

1.创建一个名为HelloWebView工程.

2.打开res/layout/main.xml,插入以下内容:

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>
3.打开 HelloWebView.java 文件,在这个类的开始定义WebView 对象:

WebView mWebView;

4.在onCreate方法里面使用以下代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl(http://www.google.com);
}
以上代码初始化了WebView对象,通过getSettings方法得到了一个WebSettings 对象,通过setJavaScriptEnabled方法使WebView支持Java script,最后通过loadUrl方法来导入网页.

5.由于应用程序需要访问网页,因此需要在 Android manifest 文件里面添加合适的权限:

<uses-permission android:name="android.permission.INTERNET" />

6.同时也可以在manifest 文件里面去掉title bar,给webview更大的可视空间

<activity android:name=".HelloGoogleMaps" android:label="@string/app_name"
     android:theme="@android:style/Theme.NoTitleBar">

7.现在运行应用程序,我们创建了一个简单的网页观察器,但目前还不是一个浏览器,因为当你点击一个链接时,Android 默认的浏览器会处理浏览web页面的intent,为了让我们的activity能够处理自己的url请求,我们可以重写WebViewClient 类.

8.在HelloAndroid Activity中,创建一个内部类:

private class HelloWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}

9.在onCreate方法的末尾,设置HelloWebViewClient 的实例,作为一个WebViewClient :

mWebView.setWebViewClient(new HelloWebViewClient());

这样我们就创建了一个webview,这个webview可以处理任何通过这个webview选择的URL,并且加载到这个webview中,shouldOverrideUrlLoading方法传递当前的WebView 和URL请求.

如果再次运行应用程序,新的页面将会被加载进来,这样会有一个缺点:无法回到之前的页面上去,解决这个问题的办法是处理BACK键,让webview能够返回到之前的页面而不是退出程序.

10.为了处理BACK键,我们可以重写onKeyDown方法:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
当canGoBack方法返回true时,表明之前还有页面被加载过,可以返回到前一加载页面,如果为false,则退出程序.

Web View 是一种在原生应用程序中嵌入网页内容的组件。它允许开发人员使用 HTML、CSS 和 JavaScript 来构建应用程序的一部分或全部界面,并且可以与原生应用程序进行交互。 在 Android 平台上,可以使用 Android WebView 组件来实现 Web View 功能。要使用 Web View,在布局文件中添加一个 WebView 元素,并在代码中通过获取 WebView 实例来控制和加载网页内容。你可以使用 WebView 提供的方法来加载 URL、显示HTML内容、处理页面加载事件、与 JavaScript 进行交互等。 在 iOS 平台上,可以使用 UIWebView 或 WKWebView 来实现 Web View 功能。UIWebView 是较早的实现方式,而 WKWebView 是从 iOS 8 开始引入的新一代 Web View 组件。你可以创建一个 UIWebView 或 WKWebView 的实例,并通过设置其 delegate 来处理页面加载事件、与 JavaScript 进行交互等。通过加载 URL 或加载 HTML 字符串,你可以在应用程序中显示网页内容。 需要注意的是,Web View使用要遵循相关安全性和性能的最佳实践。例如,在加载外部 URL 时,应确保只加载可信任的源,并避免潜在的安全风险。此外,过多或复杂的网页内容可能会影响应用程序的性能和用户体验,因此需要进行优化和限制。 总结来说,Web View 是一种在原生应用程序中显示网页内容的组件,可以使用 WebView 或 WKWebViewAndroid 和 iOS 平台上实现。通过加载 URL 或 HTML 内容,开发人员可以在应用程序中展示并与网页内容进行交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值