📅  最后修改于: 2023-12-03 14:52:12.884000             🧑  作者: Mango
在 Android 程序中,我们可以使用 WebView 控件来呈现网页内容。而在网页中,有时我们需要使用 Javascript 进行一些操作,并将其返回值转换成字符串类型,方便我们在程序中使用。本文将介绍如何在 Android 中将 Javascript 返回值转换为字符串,具体实现过程如下:
MainActivity.java
文件,并添加以下代码:WebView webView = findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
view.evaluateJavascript("javascript:document.getElementById('demo').innerHTML=\"Hello, world!\"", value -> {
String stringValue = value.replaceAll("^\"|\"$", "");
Log.i("WebView", "JavaScript returned: " + stringValue);
});
}
});
webView.loadUrl("https://www.example.com");
上述代码中,我们首先获取了名为 webView
的 WebView 控件,并配置其为支持 Javascript。同时,我们设置了一个 WebViewClient,用于在网页加载完成后执行我们的 Javascript 代码。在其中,我们通过 evaluateJavascript
方法执行了一段 Javascript 代码,并将其返回值传入了一个名为 value
的参数中,我们将其转换成字符串后输出到了日志中。
activity_main.xml
文件中,添加一个 WebView 控件,并设置其 ID 为 webView
:<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
www.example.com
的网页,并将其中的一段 Javascript 代码执行后返回的值输出到了日志中。evaluateJavascript
方法时,我们需要将其传入的 Javascript 代码作为一个字符串传入,并注意对字符串中的特殊字符进行转义。Log
工具来输出调试信息,并避免使用 System.out.println
等控制台输出命令,以确保代码的可读性。通过本文的介绍,我们可以了解到在 Android 中如何将 Javascript 返回值转换成字符串,并在程序中使用。同时,我们也学习了如何在 WebView 控件中运行 Javascript 代码,并在完成后返回其值。这将有助于我们在开发 Android 应用程序时更好地使用网页内容,并为用户提供更加丰富和完整的使用体验。