【android开发-23】android中WebView的用法详解

2023-12-13 03:52:35

1,WabView的用法

在Android中,WebView是一个非常重要的组件,它允许我们在Android应用中嵌入网页,展示HTML内容。WebView是Android SDK中提供的标准组件,使用它我们可以很方便地将web页面直接嵌入到Android应用中。WebView类提供了丰富的API,以便我们可以在Android应用中实现更复杂的功能。

下面是一些关于WebView的基本使用说明:

1,加载网页:WebView可以通过loadUrl()方法加载网页。例如:webView.loadUrl(“http://www.example.com”)。

2,加载HTML:WebView也可以通过loadData()或loadDataWithBaseURL()方法加载HTML内容。例如:webView.loadData(“Hello, World!”)。

3,启用JavaScript:WebView默认情况下是不启用JavaScript的,如果需要启用JavaScript,需要调用setWebViewClient()方法并创建一个WebViewClient对象。例如:

webView.setWebViewClient(new WebViewClient() {  
    @Override  
    public void onPageFinished(WebView view, String url) {  
        // 启用JavaScript  
        view.getSettings().setJavaScriptEnabled(true);  
    }  
});

4,自定义WebChromeClient:通过实现WebChromeClient接口,我们可以控制一些与浏览器相关的功能,例如进度条、JavaScript的对话框等。例如:

webView.setWebChromeClient(new WebChromeClient() {  
    @Override  
    public void onProgressChanged(WebView view, int newProgress) {  
        // 控制进度条的进度  
    }  
});

5,其他功能:WebView还提供了很多其他的功能,例如全屏显示、缓存、手势控制等。具体可以查看Android官方文档。

2,完整的参考用例代码
在Android中使用WebView加载百度网页,您需要在XML布局文件中添加WebView组件,并在Manifest文件中添加网络权限。

首先,在XML布局文件中添加WebView组件:

<WebView    
    android:id="@+id/webview"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:layout_alignParentStart="true"  
    android:layout_alignParentTop="true" />

接下来,在Manifest文件中添加网络权限:

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

最后,在Java代码中加载百度网页:

import android.os.Bundle;  
import android.webkit.WebView;  
import android.webkit.WebViewClient;  
import androidx.appcompat.app.AppCompatActivity;  
  
public class MainActivity extends AppCompatActivity {  
  
    private WebView webView;  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  
  
        webView = findViewById(R.id.webview); 
        webView .getSettings().setJavaScriptEnabled(true);  
        webView.setWebViewClient(new WebViewClient());  
        webView.loadUrl("http://www.baidu.com");  
    }  
}

在此示例中,我们创建了一个名为MainActivity的AppCompatActivity。在onCreate方法中,我们首先调用setContentView方法来设置布局文件。然后,我们通过调用findViewById方法来获取WebView控件的引用,并将其存储在webView变量中。接下来,我们使用setWebViewClient方法来设置WebViewClient,以便我们可以控制WebView的行为。最后,我们使用loadUrl方法来加载百度网页。

注意:setJavaScriptEnabled方法让WebView 支持JavaScript脚本。setWebViewClient方法,传入WebViewClient,作用是目标网页仍在当前WebView 中显示。

文章来源:https://blog.csdn.net/jiangchaobing_2017/article/details/134884281
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。