📜  Android WebView示例(1)

📅  最后修改于: 2023-12-03 14:39:09.257000             🧑  作者: Mango

Android WebView示例

在 Android 应用程序中,WebView 是一个用于在应用程序中显示网页内容的组件。在本文中,我们将了解 Android WebView 示例,并了解如何在应用程序中使用 WebView。

目录
如何在应用程序中使用 WebView
添加 WebView 组件

为了在应用程序中使用 WebView,你需要添加 WebView 组件到你的布局文件中。

示例代码:

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
加载网页

在应用程序中使用 WebView 显示网页的最简单方法是使用 loadUrl() 方法。loadUrl() 方法加载一个 URL 并显示在 WebView 中。

示例代码:

WebView webView = findViewById(R.id.webview);
webView.loadUrl("https://www.google.com");
WebView 方法和属性

WebView 是一个有多种方法和属性的强大组件。在下面的清单中,我们将简要地讨论一些(远非全部)WebView 的方法和属性。

  • loadUrl():加载 URL。

  • reload():重新加载当前的 URL。

  • goBack():返回 WebView 的历史记录。

  • canGoBack():检查 WebView 是否还可以后退。

  • goForward():向前导航 WebView 的历史。

  • canGoForward():检查 WebView 是否还可以前进。

  • getSettings():获取 WebView 的设置。

  • setWebViewClient():设置 WebViewClient。

  • setWebChromeClient():设置 WebChromeClient。

  • setContentView():设置 WebView 的内容视图。

  • getUrl():获取当前 WebView 正在显示的 URL。

  • getTitle():获取当前 WebView 显示的标题。

  • getProgress():获取当前 WebView 加载进度。

WebViewClient 和 WebChromeClient

WebViewClient 和 WebChromeClient 是两个非常重要的 WebView 类。WebChromeClient 可以访问网页的 JavaScript 和 CSS,而 WebViewClient 则负责处理 WebView 访问网页的 URL。

示例代码:

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public void onProgressChanged(WebView view, int newProgress) {
        super.onProgressChanged(view, newProgress);
        // Do something when the page loading progress changes
    }
});
如何处理 WebView 中的 URL

有时你需要在 WebView 中打开 URL,而不是使用系统浏览器打开。为了在 WebView 中处理 URL,你需要实现 shouldOverrideUrlLoading() 方法并设置 WebViewClient。

示例代码:

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});
WebView 示例

下面是一个简单的 WebView 示例。示例代码演示了如何添加 WebView 组件,如何加载 URL,如何处理 URL 和如何获取 WebView 的当前 URL 和标题。

<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
WebView webView = findViewById(R.id.webview);
webView.loadUrl("https://www.google.com");

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});

String currentUrl = webView.getUrl();
String currentTitle = webView.getTitle();
总结

在本文中,我们了解了如何在 Android 应用程序中使用 WebView。我们了解了如何加载网页,如何使用 WebViewClient 和 WebChromeClient,以及如何处理 WebView 中的 URL。我们还提供了一个简单的 WebView 示例。现在,你可以开始在你的应用程序中使用 WebView 了!