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