ANDROID中WEBVIEW的使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ANDROID中WEBVIEW的使用
WEBVIEW是Android中的一个View组件,用于在应用程序中显示网页内容。

在Android中,使用WEBVIEW可以实现访问网页、展示HTML内容、加载本地HTML文件、加载JS、与JS交互等功能。

本文将详细介绍ANDROID中WEBVIEW的使用。

一、导入WEBVIEW库
使用WEBVIEW前,需要在项目的build.gradle文件中添加相关库的依赖:
```
implementation 'androidx.webkit:webkit:1.4.0'
```
二、在布局文件中添加WEBVIEW
在需要使用WEBVIEW的布局文件中添加WEBVIEW组件:
```xml
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"/>
```
三、在Activity中初始化WEBVIEW
在Activity的onCreate(方法中初始化WEBVIEW:
```java
WebView myWebView = findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings(;
webSettings.setJavaScriptEnabled(true);
webSettings.setDomStorageEnabled(true);
```
上述代码中,首先通过findViewById(方法获取到布局文件中的WEBVIEW组件,然后通过getSettings(方法获取到WEBVIEW的设置对象WebSettings,最后设置一些通用的设置,例如设置是否支持JavaScript,是否支持DOM存储等。

四、加载网页
使用WEBVIEW加载网页有两种方式,一种是直接加载URL,另一种是
加载HTML内容。

4.1直接加载URL
```java
myWebView.loadUrl(url);
```
4.2加载HTML内容
```java
String htmlContent = "<html><body><h1>Hello,
WebView</h1></body></html>";
myWebView.loadData(htmlContent, "text/html", "UTF-8");
```
在以上代码中,首先定义了一个HTML字符串,然后通过
loadData(方法将HTML内容加载到WEBVIEW中。

五、与JS交互
WEBVIEW中可以通过调用JS代码实现与网页的交互。

5.1 Android调用JS方法
```java
myWebView.evaluateJavascript("javascript:myFunction(", null);
```
上述代码中,通过evaluateJavascript(方法调用JavaScript的myFunction(方法。

5.2 JS调用Android方法
在Android中定义一个Java方法供JS调用:
```java
public class JavaScriptInterface
public void showToast(String message)
Toast.makeText(MainActivity.this, message,
Toast.LENGTH_SHORT).show(;
}
```
在Activity中添加以下代码将Java方法传递给WEBVIEW:
```java
myWebView.addJavascriptInterface(new JavaScriptInterface(, "Android");
```
在JS中可以通过调用Android.showToast(方法来调用Java方法:```js
<button onclick="Android.showToast('Hello')">Click
Me</button>
```
六、处理网页加载事件
可以通过WEBVIEW的WebViewClient来处理网页加载事件。

6.1监听页面开始加载事件
```java
myWebView.setWebViewClient(new WebViewClien
public void onPageStarted(WebView view, String url, Bitmap favicon)
//页面开始加载时的操作
}
});
```
6.2监听页面加载完成事件
```java
myWebView.setWebViewClient(new WebViewClien
public void onPageFinished(WebView view, String url)
//页面加载完成后的操作
}
});
```
6.3监听页面加载错误事件
```java
myWebView.setWebViewClient(new WebViewClien
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
//页面加载错误时的操作
}
});
```
七、处理回退事件
可以通过重写Activity的onBackPressed(方法来处理WEBVIEW的回退事件,使WEBVIEW能够正确地回退到上一个页面:
```java
public void onBackPresse
if (myWebView.canGoBack()
myWebView.goBack(;
} else
super.onBackPressed(;
}
```
八、处理权限请求
在Android 6.0及以上版本中,应用必须在运行时动态请求一些危险权限,例如读取外部存储权限,如果未获得权限将无法加载外部存储中的HTML文件。

可以通过重写Activity的onRequestPermissionsResult(方法来处理权限请求回调:
```java
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode ==
MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE)
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
//已授予权限,继续加载HTML文件
} else
//未授予权限,无法加载HTML文件
}
}
```
以上就是ANDROID中WEBVIEW的使用方法,通过WEBVIEW,我们可以在应用程序中展示网页内容、加载HTML文件、与JS进行交互等。

希望本文对您有所帮助。

相关文档
最新文档