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页面进行更加紧密的交互。