android开发webview demo

Android中的WebView是一个可嵌入应用程序中的web浏览器控件,可以让应用程序显示网页,并且支持网页上的交互操作。WebView是一个基于WebKit引擎的控件,它可以将web页面渲染到应用程序中,同时提供了一些自定义的操作接口,以便开发者可以在应用程序中与web页面进行交互。

在Android开发中,我们可以使用WebView来显示网页、加载本地HTML文件、显示PDF、播放视频等等。下面我们来看一下如何在Android应用程序中使用WebView。

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

```xml

android:id="@+id/webview"

android:layout_width="match_parent"

android:layout_height="match_parent" />

```

然后在Activity中获取WebView控件的引用,并进行一些基本的设置:

```java

public class MainActivity extends AppCompatActivity {

private WebView mWebView;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 获取WebView控件的引用

mWebView = findViewById(R.id.webview);

// 启用JavaScript

mWebView.getSettings().setJavaScriptEnabled(true);

}

}

```

上述代码中,我们启用了WebView的JavaScript功能,这样就可以在网页中执行JavaScript代码了。

接下来,我们可以使用WebView的loadUrl()方法来加载网页:

```java

mWebView.loadUrl("http://www.baidu.com");

```

或者加载本地HTML文件:

```java

mWebView.loadUrl("file:///android_asset/index.html");

```

如果需要在WebView中显示PDF文件,可以使用Google提供的在线PDF阅读器:

```java

mWebView.loadUrl("https://drive.google.com/viewerng/viewer?embedded=true&url=" + pdfUrl);

```

其中pdfUrl为PDF文件的URL链接。

除了加载网页,WebView还支持一些其他的操作,比如获取网页的标题、执行JavaScript代码、设置WebViewClient等等。下面我们来看一些具体的实现。

获取网页的标题:

```java

mWebView.setWebViewClient(new WebViewClient() {

@Override

public void onPageFinished(WebView view, String url) {

super.onPageFinished(view, url);

// 获取网页标题

String title = view.getTitle();

}

});

```

在WebViewClient的onPageFinished()方法中,可以获取到网页的标题。

执行JavaScript代码:

```java

mWebView.evaluateJavascript("javascript:alert('Hello World!')", new ValueCallback() {

@Override

public void onReceiveValue(String value) {

// value为JavaScript执行的返回值

}

});

```

在上述代码中,我们执行了一段JavaScript代码,弹出一个“Hello World!”的提示框。

设置WebViewClient:

```java

mWebView.setWebViewClient(new WebViewClient() {

@Override

public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {

// 在WebView中打开链接,而不是在系统浏览器中打开

view.loadUrl(request.getUrl().toString());

return true;

}

});

```

在上述代码中,我们设置了WebViewClient,并重写了shouldOverrideUrlLoading()方法,这样就可以在WebView中打开链接,而不是在系统浏览器中打开。

总结一下,Android中的WebView控件可以让应用程序显示网页,并且支持网页上的交互操作。我们可以使用WebView来加载网页、显示PDF、播放视频等等。同时,我们还可以获取网页的标题、执行JavaScript代码、设置WebViewClient等等。通过使用WebView,可以让应用程序与web页面进行更加紧密的交互。